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
- Suchen und Ersetzen von Text in PDF mit Java
- Ersetzen Sie Text auf einer bestimmten Seite in PDF
- Text durch regulären Ausdruck 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.
- Laden Sie die PDF Datei mit der Klasse Document.
- Erstellen Sie ein Objekt der Klasse TextFragmentAbsorber und initialisieren Sie es mit dem Text, den Sie suchen und ersetzen möchten.
- Akzeptieren Sie den Absorber für die Seiten in PDF mit der methode Document.getPages().accept(TextFragmentAbsorber).
- Holen Sie sich alle Vorkommen des von TextFragmentAbsorber.getTextFragments() zurückgegebenen Textes in ein TextFragmentCollection objekt.
- Durchlaufen Sie jedes TextFragment im Objekt TextFragmentCollection und ersetzen Sie den Text mit der methode TextFragment.setText(String).
- Speichern Sie die aktualisierte PDF Datei mit der methode Document.save(String).
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.
- Laden Sie die PDF Datei mit der Klasse Document.
- Erstellen Sie ein Objekt der Klasse TextFragmentAbsorber und initialisieren Sie es mit dem Text, den Sie suchen und ersetzen möchten.
- Akzeptieren Sie den Absorber für eine bestimmte Seite in PDF mit der methode Document.getPages().get\Item(Int pageIndex).accept(TextFragmentAbsorber).
- Rufen Sie alle Vorkommen des von TextFragmentAbsorber.getTextFragments() zurückgegebenen Textes in das Objekt TextFragmentCollection ab.
- Durchlaufen Sie jedes TextFragment im Objekt TextFragmentCollection und ersetzen Sie den Text mit der methode TextFragment.setText(String).
- Speichern Sie die aktualisierte PDF Datei mit der methode Document.save(String).
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.
- Laden Sie die PDF Datei mit der Klasse Document.
- Erstellen Sie ein Objekt der Klasse TextFragmentAbsorber und initialisieren Sie es mit dem regulären Ausdruck, den Sie verwenden möchten.
- Erstellen Sie ein Objekt der Klasse TextSearchOptions und initialisieren Sie es mit true, um die auf regulären Ausdrücken basierende Suche zu aktivieren.
- Legen Sie Optionen mit der methode TextFragmentAbsorber.setTextSearchOptions(TextSearchOptions) fest.
- Akzeptieren Sie den Absorber für die Seiten in PDF mit der methode Document.getPages().accept(TextFragmentAbsorber).
- Holen Sie sich alle gefundenen Vorkommen des von TextFragmentAbsorber.getTextFragments() zurückgegebenen Textes in das Objekt TextFragmentCollection.
- Durchlaufen Sie jedes TextFragment im Objekt TextFragmentCollection und ersetzen Sie den Text mit der methode TextFragment.setText(String).
- Speichern Sie die aktualisierte PDF Datei mit der methode Document.save(String).
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.