Den här snabbguiden beskriver hur du hittar och ersätter text i PDF med C# med hjälp av detaljerade steg och en körbar kod. Det hjälper till att konfigurera miljön och ger sedan en steg-för-steg-process för att ersätta text i en PDF med C#. När filen har uppdaterats kan du spara den tillbaka på disken i originalformatet, dvs PDF eller som en DOCX, Excel, HTML, etc. för att nämna några.
Steg för att hitta och ersätta text i PDF med C#
- Konfigurera projektet för att använda Aspose.PDF for .NET med NuGet-pakethanteraren
- Skapa eller ladda en PDF-fil som innehåller exempeltext med hjälp av klassobjektet Document
- Använd klassobjektet TextFragmentAbsorber och ställ in texten som ska sökas
- För alla sidor i indata-PDF-filen, acceptera textabsorberaren
- Få samlingen av fragment där text extraheras från den laddade PDF-filen
- Läs igenom alla fragment och ställ in ny text
- Spara den uppdaterade PDF-filen
Dessa steg beskriver hur man i en PDF söker och ersätter text med C#. En ny fil med lite exempeltext skapas men du kan ladda en befintlig PDF-fil vars text ska ersättas. Det finns en mängd olika alternativ tillgängliga för att söka efter text i PDF:en som att ignorera skuggtext, begränsa sökningen till sidbunden, etc.
Kod för att ersätta text i en PDF med 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"); | |
} | |
} | |
} |
Den här koden använder TextFragmentAbsorber och TextFragment för text för att hitta och ersätta i PDF med C#. Du kan inte bara ersätta texten utan också ändra dess teckensnittsfamilj, storlek, förgrundsfärg och bakgrundsfärg i den resulterande PDF-filen. Det finns också alternativ för att ersätta text i hela PDF-filen på en gång eller ersätta text baserat på det reguljära uttrycket.
I det här ämnet har vi lärt oss att hitta och ersätta text i PDF, men om du vill lära dig att dela PDF-filer efter sidor, se artikeln om hur man delar upp en PDF-fil efter sidor i C#.