Vorlagen werden häufig verwendet, um personalisierte Dokumente zu erzeugen, indem die Vorlagenschlüssel durch entsprechende Werte ersetzt werden. In diesem Artikel erfahren Sie, wie Sie Text und Wörter in PDF-Dokumenten in Java finden und ersetzen. Wir werden separat besprechen, wie man die Suche nach Wörtern und Phrasen, die Suche nach Wörtern mit Berücksichtigung der Groß-/Kleinschreibung und das Ersetzen des gefundenen Textes durch reguläre Ausdrücke durchführt. Schließlich lernen wir, wie man den gesuchten Teil des Textes mit Java ausblendet.

Folgende Themen werden im Folgenden behandelt:

Java-Schwärzungs-API zum Ersetzen von Text

GroupDocs bietet eine Java-API zum Anwenden verschiedener Arten von Schwärzungen. Es ermöglicht das Schwärzen, Ausblenden oder Entfernen des Inhalts und sogar der Metadaten von Dokumenten, Präsentationen, Tabellenkalkulationen, PDF-Dateien und Bildern innerhalb der Anwendung. Weitere Einzelheiten zur API finden Sie in deren Dokumentation.

Herunterladen oder Konfigurieren

Sie können die JAR-Datei aus dem Download-Bereich herunterladen oder einfach die neuesten Repository- und Abhängigkeitskonfigurationen für die pom.xml Ihres maven- basierte Java-Anwendungen.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-redaction</artifactId>
        <version>21.12</version> 
</dependency>

Eines der guten Dinge ist, dass Sie keinen PDF-Editor oder andere Software von Drittanbietern für die PDF-Schwärzung installieren müssen. Das Folgende ist der Inhalt des PDF-Dokuments, das in den folgenden Beispielen zum Schwärzen verwendet wird. Derselbe Ansatz funktioniert für andere Dokumentformate mit kaum Unterschieden im Quellcode.

Finden und Ersetzen von Wörtern oder Sätzen in PDF in Java

Sie können diese Funktion verwenden, um alle privaten Daten auszublenden und auch ein neues benutzerdefiniertes Dokument aus einer beliebigen Vorlage zu erstellen. Der folgende Schritt erklärt, wie Sie ein beliebiges Wort/einen Satz in einem PDF-Dokument finden und es durch einen anderen Text in der Java-Anwendung ersetzen.

  • Laden Sie die PDF-Datei mit der Klasse Redactor.
  • Finden Sie den genauen Ausdruck oder das Wort mit ExactPhraseRedaction und ReplacementOptions.
  • Schwärzung anwenden mit der Methode apply().
  • Speichern Sie das neue Dokument mit den Änderungen mit der Methode save().

Der folgende Code sucht und ersetzt die Wörter in einer PDF-Datei mit Java. Genauer gesagt verbirgt es alle Vorkommen von „John Doe“, indem es durch das Wort „[censored]“ ersetzt wird.

// Finden Sie den genauen Ausdruck in PDF und ersetzen Sie ihn mit Java durch einen anderen Text
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// Speichern Sie die redigierte Datei an einem anderen Ort mit einem anderen Namen.
FileOutputStream stream = new FileOutputStream("path/exactPhrase.pdf");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);

Die Ausgabe des obigen Codes ist wie folgt.

Suchen und Ersetzen von Groß- und Kleinschreibung in PDF-Dateien mit Java

Sie können die Suche und Schwärzung unter Berücksichtigung der Groß-/Kleinschreibung durchführen. Der folgende Code ersetzt das Groß-/Kleinschreibung beachtende Vorkommen des Wortes “John Doe”, aber nicht “john doe” in einem PDF-Dokument mit Java.

// Finden Sie den genauen Ausdruck in PDF (Groß-/Kleinschreibung beachten) und ersetzen Sie ihn mit Java durch einen anderen Text
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();

Die Ausgabe des Codes ist wie folgt.

Ersetzen Sie Text in PDF durch reguläre Ausdrücke (RegEx) in Java

Ebenso können Sie jedes bestimmte Textmuster mit regulären Ausdrücken ersetzen. Mit den folgenden Schritten können Sie PDFs nach der Suche mit regulären Ausdrücken (RegEx) in Ihren Java-Anwendungen schwärzen.

  • Laden Sie das PDF-Dokument mit der Klasse Redactor.
  • Finden Sie die Regex-Übereinstimmung mithilfe der Klasse RegexRedaction mit ReplacementOptions.
  • Wenden Sie die Änderungen mit der Methode apply() auf das Dokument an.
  • Speichern Sie das redigierte Dokument mit der entsprechenden save()-Methode.

Der folgende Java-Code zeigt, wie man ein bestimmtes Textmuster in einem PDF-Dokument mit RegEx findet und es später durch einen anderen Text ersetzt/ausblendet.

// Finden Sie Text in PDF mit regulären Ausdrücken und ersetzen Sie ihn mit Java durch anderen Text
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();

Die Ausgabe des obigen Codes ist wie folgt.

Ersetzen Sie den Text durch ein farbiges Feld in Java

Wenn Sie die gesuchten vertraulichen Informationen einfach in Ihrer PDF-Datei verbergen möchten, können Sie sie einfach mit einem Cover versehen. Die API ermöglicht es Ihnen, den gesuchten Text auszublenden. Der folgende Code platziert das schwarze Rechteck über dem erwähnten privaten Text in Java.

// Finden Sie Text in PDF und blenden Sie ihn aus, indem Sie mit Java ein Rechteck darüber zeichnen
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();

Die Ausgabe des obigen Codes ist wie folgt.

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne die Evaluierungseinschränkungen zu verwenden.

Fazit

Zusammenfassend haben wir gelernt, wie man mit verschiedenen Suchtechniken bestimmten Text in PDF-Dateien findet. Später redigierten wir die PDF-Dateien, indem wir den Text in den Anwendungen in Java ersetzten oder versteckten. Genauer gesagt haben wir eine einfache Suche nach Wörtern und Phrasen durchgeführt, die mit Groß- und Kleinschreibung und unter Verwendung von RegEx in Java gesucht wurde. Zuletzt haben wir die Suchergebnisse entweder durch einen anderen Text oder durch einfaches Ausblenden mit Farbe darüber geändert.

Weitere Einzelheiten zur API finden Sie in der Dokumentation. Bei Fragen kontaktieren Sie uns über das Forum.

Siehe auch