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