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