In einem der Artikel haben wir bereits darüber gesprochen, wie man als .NET-Entwickler Wörter in Dokumenten redigiert. Die Strategie wird auf vielfältige Weise verwendet, um sensible Inhalte zu löschen, private Informationen wie E-Mail-Adressen oder Identifikationsnummern zu verbergen oder zu entfernen. Dieser Artikel beschreibt, wie Sie eine Wortsuche in Word DOC/DOCX-Dokumenten in Java durchführen. Wir werden separat besprechen, wie Sie den Text, die Wörter oder Sätze mit verschiedenen Techniken unter Verwendung der Java-API zum Schwärzen finden und ersetzen können.

Folgende Themen werden im Folgenden behandelt:

Java-API für die Wortsuche und das Ersetzen von Text

GroupDocs bietet eine Java-Schwärzungs-API, die es ermöglicht, den Inhalt von MS Word-unterstützten Dateien und anderen Dokumenten in verschiedenen anderen Dateiformaten zu finden und zu ersetzen. Zusätzlich zur Textschwärzung und Rasterung unterstützt die API Metadaten, Anmerkungen, Tabellenkalkulationen und auch die Bildschwärzungsfunktionen. Die unterstützten Dateiformate der Word-Dokumente, Tabellenkalkulationen, Präsentationen, Bilder und PDF-Dokumente sind in der Dokumentation verfügbar.

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 Ihrer Maven-basierten Java-Anwendungen abrufen.

<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>

MS Word oder andere Software von Drittanbietern ist für den Redaktionsprozess nicht erforderlich. Beginnen wir nun mit verschiedenen Ansätzen zum Suchen und Ersetzen von Text. Das Folgende ist der Screenshot eines Word-Dokuments, das in den folgenden Beispielen verwendet wird. Sie können die gleichen Methoden auch für andere Dokumentformate mit sehr geringen oder keinen Änderungen im Quellcode verwenden.

Dokument zum Schwärzen von Text

Suchen und Ersetzen von Wörtern oder Ausdrücken mit Java

Die folgenden Schritte erklären, wie Sie die Vorkommen eines Wortes/Ausdrucks in einem Word-Dokument innerhalb der Java-Anwendung finden und dann ersetzen.

  • Laden Sie die DOC/DOCX-Datei mit der Klasse Redactor.
  • Finden Sie den genauen Ausdruck oder das Wort mithilfe der Klassen ExactPhraseRedaction und ReplacementOptions.
  • Verwenden Sie die Anwenden-Methode von Redactor, um die Schwärzung anzuwenden.
  • Um die Datei nach Änderungen an einem anderen Ort zu speichern, verwenden Sie den Ausgabestream.
  • Speichern Sie die Schwärzungsänderungen mit der Speichermethode.

Der folgende Code sucht und ersetzt das Wort “John Doe” im obigen Word-Dokument mit Java. Es ersetzt alle Vorkommen von „John Doe“ durch das Wort „[censored]“.

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

Die Ausgabe des Codes ist wie folgt.

Schwärzen Sie mit Exact Phrase

Wortsuche mit Berücksichtigung der Groß- und Kleinschreibung und Ersetzen von Text in Java

Sie scheinen vorsichtig mit der genauen Groß- und Kleinschreibung des Wortes zu sein und möchten nur das Wort ersetzen, das nur Ihrer Suche mit Berücksichtigung der Groß-/Kleinschreibung entspricht. Der folgende Code ersetzt die Existenz der exakten Fallübereinstimmung des Wortes „John Doe“ in Java.

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

Die Ausgabe des Codes ist wie folgt.

Groß- und Kleinschreibung berücksichtigen

Ersetzen Sie Text mit regulären Ausdrücken (RegEx) in Java

Wenn Sie nicht das genaue Wort, sondern ein Muster in Ihrem Dokument ändern möchten, können Sie die regulären Ausdrücke verwenden. Mit den folgenden Schritten können Sie mithilfe regulärer Ausdrücke (RegEx) beliebige Textmuster in Ihren Java-Anwendungen finden und ersetzen.

  • Laden Sie das Dokument mit der Klasse Redactor.
  • Erstellen Sie den RegEx mit RegexRedaction.
  • Geben Sie den Text mit ReplacementOptions an, um die RegEx-Übereinstimmung zu ersetzen.
  • Verwenden Sie die Methode apply, um alle Regex-Übereinstimmungen zu ersetzen.
  • Verwenden Sie die Speichermethode, um das redigierte Dokument zu erhalten.

Der folgende Code zeigt, wie Sie die Wortsuche in einer Word-Datei mit RegEx durchführen und sie mit Java durch anderen Text ersetzen.

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

Das Folgende ist die Ausgabe des obigen Codes:

RegEx-Schwärzung

Ersetzen Sie den Text durch ein farbiges Feld in Java

Wenn Sie Ihren Inhalt nicht ersetzen und nur ausblenden möchten, können Sie mit der API die Textübereinstimmung abdecken, indem Sie ein Kästchen darüber ziehen. Der folgende Java-Code blendet den Text mit dem schwarzen Rechteck aus.

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

Die Ausgabe des obigen Codes ist wie folgt.

Text mit Box ausblenden

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 Sie gelernt, wie Sie eine Wortsuche durchführen, um Text in Word-Dokumenten zu finden, indem Sie die Suche nach exakten Textphrasen, die Suche nach Groß- und Kleinschreibung, die Suche mit regulären Ausdrücken und nicht zuletzt das Ausblenden des Textes anstelle des Ersetzens verwenden. Sie können diese verschiedenen Techniken verwenden, um die Ergebnisse auf unterschiedliche Weise in MS Word-Dokumenten zu ersetzen.

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

Siehe auch