Deze beknopte handleiding beschrijft hoe u tekst in PDF kunt vinden en vervangen met C# met behulp van gedetailleerde stappen en een uitvoerbare code. Het helpt bij het configureren van de omgeving en biedt vervolgens een stapsgewijs proces om tekst in een PDF te vervangen met C#. Zodra het bestand is bijgewerkt, kunt u het weer op de schijf opslaan in het oorspronkelijke formaat, dwz PDF of als een DOCX, Excel, HTML, enz. om er maar een paar te noemen.
Stappen om tekst in PDF te zoeken en te vervangen met C#
- Configureer het project om Aspose.PDF for .NET te gebruiken met behulp van de NuGet-pakketbeheerder
- Maak of laad een PDF-bestand met voorbeeldtekst met behulp van het klasseobject Document
- Stel met behulp van het klasseobject TextFragmentAbsorber de tekst in die moet worden doorzocht
- Accepteer voor alle pagina’s in het invoer-PDF-bestand de tekstabsorber
- Download de verzameling fragmenten waarin tekst is geëxtraheerd uit het geladen PDF-bestand
- Doorzoek alle fragmenten en stel nieuwe tekst in
- Sla het bijgewerkte PDF-bestand op
Deze stappen beschrijven hoe in een PDF tekst wordt gezocht en vervangen met C#. Er wordt een nieuw bestand met wat voorbeeldtekst gemaakt, maar u kunt een bestaand PDF-bestand laden waarvan de tekst moet worden vervangen. Er zijn verschillende opties beschikbaar om tekst in de PDF te doorzoeken, zoals het negeren van schaduwtekst, het beperken van de zoekopdracht tot paginagebonden, enz.
Code om tekst in een PDF te vervangen met C#
using Aspose.Pdf; | |
using Aspose.Pdf.Text; | |
namespace FindAndReplaceTextInPdfUsingCSharp | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to create 7z archive in CSharp | |
{ | |
// Instantiate a license to avoid watermark in output PDF | |
Aspose.Pdf.License licForPdf= new Aspose.Pdf.License(); | |
licForPdf.SetLicense("Aspose.Pdf.lic"); | |
// Create an empty PDF document | |
Document newPDFFile = new Document(); | |
// Add an empty page in the newly created PDF | |
Page page = newPDFFile.Pages.Add(); | |
// Add sample text in the PDF file | |
for(int iTxtCounter = 0 ; iTxtCounter < 15; iTxtCounter++) | |
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment($"my_data\nanother data")); | |
// Save the newly created PDF file containing the test data in it | |
newPDFFile.Save("InputPDFToReplaceText.pdf"); | |
// Open PDF document to replace text in it | |
Document inputPDFFile = new Document("InputPDFToReplaceText.pdf"); | |
// Set the text that is to be searched in the TextAbsorber object | |
TextFragmentAbsorber txtAbsorber = new TextFragmentAbsorber("my_data"); | |
// Apply the text absorber for all the pages in the input PDF file | |
inputPDFFile.Pages.Accept(txtAbsorber); | |
// Get the collection of fragments containing extracted text from the PDF | |
TextFragmentCollection textFragmentCollection = txtAbsorber.TextFragments; | |
// Parse all the fragments and replace text using particular font, size and foreground/background color | |
foreach (TextFragment txtFragment in textFragmentCollection) | |
txtFragment.Text = "MY_DATA"; | |
// Save resulting PDF document. | |
inputPDFFile.Save("OutputPDFAfterReplacingText.pdf"); | |
System.Console.WriteLine("Done"); | |
} | |
} | |
} |
Deze code gebruikt TextFragmentAbsorber en TextFragment voor het vinden en vervangen van tekst in PDF met C#. U kunt niet alleen de tekst vervangen, maar ook de lettertypefamilie, grootte, voorgrondkleur en achtergrondkleur wijzigen in het resulterende PDF-bestand. Er zijn ook opties beschikbaar om tekst in de hele PDF in één keer te vervangen of tekst te vervangen op basis van de reguliere expressie.
In dit onderwerp hebben we geleerd om tekst in PDF te zoeken en te vervangen. Als u echter wilt leren PDF-bestanden op pagina’s te splitsen, raadpleeg dan het artikel over hoe een PDF-bestand te splitsen op pagina’s in C#.