Suchen und ersetzen Sie Text in PDF Java

In verschiedenen Fällen müssen Sie möglicherweise einen bestimmten Textabschnitt in den PDF Dokumenten suchen und ersetzen. Das manuelle Suchen und Aktualisieren jedes Vorkommens kann Sie jedoch zusätzliche Zeit und Mühe kosten. Für solche Fälle erleichtert Ihnen die Option „Suchen und Ersetzen“ das Leben. In diesem Artikel erfahren Sie, wie Sie mit Java Text in PDF Dokumenten suchen und ersetzen.

Java API zum Suchen und Ersetzen von Text in PDF Dateien – kostenloser Download

Aspose.PDF for Java wurde zum Generieren und Bearbeiten von PDF Dateien aus Java Anwendungen heraus entwickelt. Die API bietet eine breite Palette grundlegender sowie erweiterter PDF-Manipulationsfunktionen, einschließlich des Suchens und Ersetzens von Text. Sie können die API entweder herunterladen oder sie mit den folgenden Maven konfigurationen installieren.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>21.1</version>    
</dependency>

Suchen und Ersetzen von Text in PDF mit Java

Um einen bestimmten Text in PDF zu ersetzen, würden Sie zuerst alle Textfragmente erhalten, die mit der Suchzeichenfolge übereinstimmen. Sobald Sie sie haben, ersetzen Sie einfach jedes Fragment nacheinander durch aktualisierten Text.

Im Folgenden finden Sie die Schritte zum Suchen und Ersetzen von Text in einer PDF Datei mit Java.

Das folgende Codebeispiel zeigt, wie Text in PDF gesucht und ersetzt wird.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Dokument öffnen
Document pdfDocument = new Document("source.pdf");

// Erstellen Sie ein TextAbsorber objekt, um alle Instanzen des eingegebenen Suchausdrucks zu finden
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// Akzeptieren Sie den Absorber für alle Seiten des Dokuments
pdfDocument.getPages().accept(textFragmentAbsorber);

// Holen Sie sich die extrahierten Textfragmente in die Sammlung
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Schleife durch die Fragmente
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Aktualisieren Sie Text und andere Eigenschaften
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Speichern Sie die aktualisierte PDF Datei
pdfDocument.save("Updated_Text.pdf");

Suchen und ersetzen Sie Text auf einer bestimmten Seite in PDF

Anstatt Text in der gesamten PDF Datei zu suchen und zu ersetzen, können Sie eine einzelne Seite angeben, auf der Sie die Textstellen ersetzen möchten. In diesem Fall akzeptieren Sie den TextFragmentAbsorber für eine bestimmte Seite nur, indem Sie den Seitenindex angeben.

Im Folgenden finden Sie die Schritte zum Suchen und Ersetzen von Text auf einer bestimmten Seite in PDF in Java.

Das folgende Codebeispiel zeigt, wie Text auf einer bestimmten Seite in PDF mithilfe von Java gesucht und ersetzt wird.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Dokument öffnen
Document pdfDocument = new Document("source.pdf");

// Erstellen Sie ein TextAbsorber objekt, um alle Instanzen des eingegebenen Suchausdrucks zu finden
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// Akzeptieren Sie den Absorber für die erste Seite des Dokuments
pdfDocument.getPages().get_Item(0).accept(textFragmentAbsorber);

// Holen Sie sich die extrahierten Textfragmente in die Sammlung
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Schleife durch die Fragmente
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Aktualisieren Sie Text und andere Eigenschaften
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Speichern Sie die aktualisierte PDF Datei
pdfDocument.save("Updated_Text.pdf");

Suchen und Ersetzen von Text mit regulären Ausdrücken in PDF

Sie können auch einen regulären Ausdruck angeben, um den Text zu durchsuchen, der einem bestimmten Muster wie Emails, Sozialversicherungsnummern usw. entspricht. Im Folgenden sind die Schritte zum Definieren und Verwenden eines regulären Ausdrucks zum Suchen und Ersetzen von Text in PDF mithilfe von Java aufgeführt.

Das folgende Codebeispiel zeigt, wie Text in PDF mithilfe eines regulären Ausdrucks gesucht und ersetzt wird.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Dokument öffnen
Document pdfDocument = new Document("input.pdf");

// Erstellen Sie ein TextAbsorber objekt, um alle Instanzen des eingegebenen Suchausdrucks zu finden
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // like 1999-2000

// Legen Sie die Textsuchoption fest, um die Verwendung regulärer Ausdrücke zu aktivieren
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);

// Akzeptieren Sie den Absorber für alle Seiten des Dokuments
pdfDocument.getPages().accept(textFragmentAbsorber);

// Holen Sie sich die extrahierten Textfragmente in die Sammlung
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Schleife durch die Fragmente
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Aktualisieren Sie Text und andere Eigenschaften
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}

// Speichern Sie die aktualisierte PDF Datei
pdfDocument.save("Updated_Text.pdf");

Holen Sie sich eine kostenlose API Lizenz

Sie können die API ohne Evaluierungseinschränkungen kostenlos testen. Holen Sie sich jetzt eine kostenlose temporäre Lizenz.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Java Text in PDFs suchen und ersetzen. Außerdem haben Sie gesehen, wie Sie einen regulären Ausdruck verwenden, um Text nach einem bestimmten Muster zu suchen und zu ersetzen. Weitere Informationen zur Java PDF API finden Sie unter Dokumentation.

Siehe auch