Hur man hittar och ersätter text i PDF med C#

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#

  1. Konfigurera projektet för att använda Aspose.PDF for .NET med NuGet-pakethanteraren
  2. Skapa eller ladda en PDF-fil som innehåller exempeltext med hjälp av klassobjektet Document
  3. Använd klassobjektet TextFragmentAbsorber och ställ in texten som ska sökas
  4. För alla sidor i indata-PDF-filen, acceptera textabsorberaren
  5. Få samlingen av fragment där text extraheras från den laddade PDF-filen
  6. Läs igenom alla fragment och ställ in ny text
  7. 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#.

 Svenska