Jak znaleźć i zamienić tekst w pliku PDF przy użyciu języka C#

W tym krótkim przewodniku opisano jak znaleźć i zamienić tekst w formacie PDF przy użyciu języka C# za pomocą szczegółowych instrukcji i gotowego kodu. Pomaga skonfigurować środowisko, a następnie zapewnia krok po kroku proces zastępowania tekstu w pliku PDF przy użyciu języka C#. Po zaktualizowaniu pliku możesz zapisać go z powrotem na dysku w oryginalnym formacie, np. PDF lub jako DOCX, Excel, HTML itp., by wymienić tylko kilka.

Kroki, aby znaleźć i zamienić tekst w pliku PDF przy użyciu języka C#

  1. Skonfiguruj projekt do używania Aspose.PDF for .NET przy użyciu menedżera pakietów NuGet
  2. Utwórz lub załaduj plik PDF zawierający przykładowy tekst, używając obiektu klasy Document
  3. Korzystając z obiektu klasy TextFragmentAbsorber, ustaw tekst do przeszukania
  4. Dla wszystkich stron w wejściowym pliku PDF zaakceptuj pochłaniacz tekstu
  5. Pobierz kolekcję fragmentów, w których tekst jest wyodrębniany z załadowanego pliku PDF
  6. Przeanalizuj wszystkie fragmenty i ustaw nowy tekst
  7. Zapisz zaktualizowany plik PDF

Te kroki opisują, jak w pliku PDF wyszukać i zamienić tekst przy użyciu języka C#. Tworzony jest nowy plik z przykładowym tekstem, ale możesz załadować istniejący plik PDF, którego tekst ma zostać zastąpiony. Dostępnych jest wiele opcji wyszukiwania tekstu w pliku PDF, takich jak ignorowanie tekstu ukrytego, ograniczanie wyszukiwania do powiązania strony itp.

Kod do zamiany tekstu w pliku PDF przy użyciu 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");
}
}
}

Ten kod używa TextFragmentAbsorber i TextFragment do znajdowania i zastępowania tekstu w formacie PDF przy użyciu języka C#. Możesz nie tylko zastąpić tekst, ale także zmienić jego rodzinę czcionek, rozmiar, kolor pierwszego planu i kolor tła w wynikowym pliku PDF. Dostępne są również opcje zamiany tekstu w całym pliku PDF na raz lub zamiany tekstu na podstawie wyrażenia regularnego.

W tym temacie nauczyliśmy się znajdować i zastępować tekst w formacie PDF, jednak jeśli chcesz nauczyć się dzielić pliki PDF według stron, zapoznaj się z artykułem na temat jak podzielić plik PDF według stron w C#.

 Polski