Jak najít a nahradit text v PDF pomocí C#

Tento rychlý průvodce popisuje jak najít a nahradit text v PDF pomocí C# pomocí podrobných kroků a spustitelného kódu. Pomáhá s konfigurací prostředí a poté poskytuje krok za krokem proces nahrazení textu v PDF pomocí C#. Jakmile je soubor aktualizován, můžete jej uložit zpět na disk v původním formátu, tj. PDF nebo jako DOCX, Excel, HTML atd. abychom jmenovali alespoň některé.

Kroky k nalezení a nahrazení textu v PDF pomocí C#

  1. Nakonfigurujte projekt tak, aby používal Aspose.PDF for .NET pomocí správce balíčků NuGet
  2. Vytvořte nebo načtěte soubor PDF obsahující ukázkový text pomocí objektu třídy Document
  3. Pomocí objektu třídy TextFragmentAbsorber nastavte text, který se má prohledávat
  4. Pro všechny stránky ve vstupním souboru PDF přijměte absorbér textu
  5. Získejte kolekci fragmentů, kde je text extrahován z načteného souboru PDF
  6. Analyzujte všechny fragmenty a nastavte nový text
  7. Uložte aktualizovaný soubor PDF

Tyto kroky popisují, jak v PDF vyhledávat a nahrazovat text pomocí C#. Vytvoří se nový soubor s ukázkovým textem, ale můžete načíst existující soubor PDF, jehož text má být nahrazen. Pro vyhledávání textu v PDF je k dispozici celá řada možností, jako je ignorování stínového textu, omezení vyhledávání na vazbu stránky atd.

Kód pro nahrazení textu v PDF pomocí 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");
}
}
}

Tento kód používá TextFragmentAbsorber a TextFragment pro text k vyhledání a nahrazení v PDF pomocí C#. Ve výsledném souboru PDF můžete nejen nahradit text, ale také změnit jeho rodinu písem, velikost, barvu popředí a barvu pozadí. K dispozici jsou také možnosti pro nahrazení textu v celém PDF najednou nebo nahrazení textu na základě regulárního výrazu.

V tomto tématu jsme se naučili hledat a nahrazovat text v PDF, pokud se však chcete naučit rozdělovat soubory PDF podle stránek, přečtěte si článek na jak rozdělit soubor PDF podle stránek v C#.

 Čeština