Di salah satu artikel, kami telah membahas cara menyunting kata dalam dokumen sebagai pengembang .NET. Strategi ini digunakan dalam banyak cara untuk menghapus konten sensitif, menyembunyikan atau menghapus informasi pribadi seperti alamat email atau nomor identifikasi. Artikel ini membahas cara melakukan pencarian kata pada dokumen Word DOC/DOCX di Java. Kami akan membahas secara terpisah bagaimana menemukan dan mengganti teks, kata, atau frasa dengan teknik berbeda menggunakan Java API untuk redaksi.

Topik-topik berikut akan dibahas di bawah ini:

API Java untuk Pencarian Kata dan Mengganti Teks

GroupDocs menyediakan API redaksi Java yang memungkinkan menemukan dan mengganti konten file yang didukung MS Word dan dokumen lain dari berbagai format file lainnya. Selain redaksi teks dan rasterisasi, API mendukung metadata, anotasi, spreadsheet, dan juga fitur redaksi gambar. format file yang didukung dari dokumen Word, spreadsheet, presentasi, gambar, dan dokumen PDF tersedia di dokumentasi.

Unduh atau Konfigurasi

Anda dapat mengunduh file JAR dari bagian unduhan, atau dapatkan repositori terbaru dan konfigurasi dependensi untuk pom.xml aplikasi Java berbasis maven Anda.

<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 atau perangkat lunak pihak ketiga lainnya tidak diperlukan untuk proses penyuntingan. Sekarang mari kita mulai dengan berbagai pendekatan untuk menangani pencarian dan penggantian teks. Berikut ini adalah tangkapan layar dari dokumen Word yang digunakan dalam contoh di bawah ini. Anda juga dapat menggunakan metode yang sama untuk format dokumen lain dengan sedikit atau tanpa perubahan pada kode sumber.

Dokumen untuk menyunting teks

Temukan dan Ganti Kata atau Frasa menggunakan Java

Langkah-langkah berikut menjelaskan cara menemukan dan kemudian mengganti kemunculan kata/frasa dalam dokumen Word dalam aplikasi Java.

  • Muat file DOC/DOCX menggunakan kelas Redactor.
  • Temukan frasa atau kata yang tepat, menggunakan kelas ExactPhraseRedaction dan ReplacementOptions.
  • Gunakan metode apply Redactor untuk menerapkan redaksi.
  • Untuk menyimpan file di lokasi berbeda setelah melakukan perubahan, gunakan aliran keluaran.
  • Simpan perubahan redaksi menggunakan metode simpan.

Kode berikut menemukan dan mengganti kata “John Doe” dalam dokumen Word di atas menggunakan Java. Ini menggantikan semua kemunculan “John Doe” dengan kata “[disensor]”.

// Temukan frasa yang tepat dan ganti dengan beberapa teks lain menggunakan Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// Jika Anda ingin menyimpan file yang telah dihapus di lokasi berbeda dengan nama berbeda.
FileOutputStream stream = new FileOutputStream("path/exactPhrase.docx");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);

Output dari kode adalah sebagai berikut.

Redact menggunakan Exact Phrase

Pencarian Kata Peka Huruf Besar dan Ganti Teks di Java

Anda tampaknya berhati-hati tentang huruf kapital yang tepat dari kata tersebut dan hanya ingin mengganti kata yang hanya cocok dengan penelusuran peka huruf besar-kecil. Kode berikut menggantikan keberadaan kasus yang sama persis dengan kata “John Doe” di Java.

// Temukan frasa yang tepat (peka huruf besar/kecil) dan ganti dengan beberapa teks lain menggunakan Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();

Output dari kode adalah sebagai berikut.

Redaksi peka huruf besar kecil

Ganti Teks menggunakan Ekspresi Reguler (RegEx) di Java

Jika Anda tidak ingin mengubah kata persisnya tetapi beberapa pola yang ada di dokumen Anda, Anda dapat menggunakan Ekspresi reguler. Langkah-langkah berikut memungkinkan Anda menemukan dan mengganti pola teks apa pun menggunakan ekspresi reguler (RegEx) dalam aplikasi Java Anda.

  • Muat dokumen menggunakan kelas Redactor.
  • Buat RegEx menggunakan RegexRedaction.
  • Berikan teks menggunakan ReplacementOptions untuk mengganti kecocokan RegEx.
  • Gunakan metode apply ganti semua regex yang cocok.
  • Gunakan metode simpan untuk mendapatkan dokumen yang telah disunting.

Kode berikut menunjukkan cara melakukan pencarian kata dalam file Word menggunakan RegEx dan menggantinya dengan teks lain menggunakan Java.

// Temukan teks menggunakan ekspresi reguler dan ganti dengan beberapa teks lain menggunakan Java
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();

Berikut adalah output dari kode di atas:

Redaksi RegEx

Ganti Teks dengan Kotak Berwarna di Java

Jika Anda tidak ingin mengganti konten dan hanya ingin menyembunyikannya, API memungkinkan Anda menutupi kecocokan teks dengan menggambar kotak di atasnya. Kode Java berikut menyembunyikan teks dengan kotak persegi panjang hitam.

// Temukan teks dan sembunyikan dengan menggambar persegi panjang di atasnya menggunakan Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();

Output dari kode di atas adalah sebagai berikut.

Sembunyikan Teks menggunakan Kotak

Dapatkan Lisensi API Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan API tanpa batasan evaluasi.

Kesimpulan

Singkatnya, Anda belajar bagaimana melakukan pencarian kata untuk menemukan teks dalam dokumen Word menggunakan pencarian frase teks yang tepat, pencarian peka huruf besar kecil, pencarian menggunakan ekspresi reguler, dan yang terakhir menyembunyikan teks alih-alih menggantinya. Anda dapat menggunakan teknik berbeda ini untuk mengganti temuan dengan cara berbeda dalam dokumen MS Word.

Untuk detail lebih lanjut dan mempelajari tentang API, kunjungi dokumentasi. Untuk pertanyaan, hubungi kami melalui forum.

Lihat juga