Ekstrak teks dari docx menggunakan GroupDocs.Viewer untuk Java

Apakah Anda ingin ekstrak teks dari docx secara programatis? Baik Anda perlu mengambil nomor halaman, menangkap setiap baris teks, atau membangun indeks yang dapat dicari, melakukan hal ini secara manual dapat memakan waktu dan rawan kesalahan. GroupDocs.Viewer for Java mempermudah proses dengan menyediakan API berperforma tinggi yang membaca struktur dokumen dan mengembalikan data teks bersih.

Dalam tutorial ini Anda akan belajar cara menyiapkan GroupDocs.Viewer, mengekstrak metadata halaman, dan mengambil setiap baris teks dari file DOCX. Pada akhir tutorial, Anda akan memiliki solusi siap pakai yang dapat Anda integrasikan ke dalam backend berbasis Java apa pun.

Document Analysis with GroupDocs.Viewer for Java

Jawaban Cepat

  • Apa arti “extract text from docx”? Itu berarti membaca file DOCX secara programatis dan mengambil konten teks polosnya baris per baris.
  • Perpustakaan mana yang menangani ini? GroupDocs.Viewer for Java menyediakan kelas Viewer dan API terkait.
  • Apakah saya memerlukan lisensi? Versi percobaan gratis dapat digunakan untuk evaluasi; lisensi berbayar diperlukan untuk produksi.
  • Versi Java apa yang diperlukan? Semua JDK 8 + yang kompatibel dengan Maven.
  • Bisakah saya memproses batch besar? Ya—dengan menggunakan kembali instance Viewer dan menangani halaman dalam aliran.

Apa itu “extract text from docx”?

Mengekstrak teks dari file DOCX berarti membaca struktur XML internal dokumen dan mengembalikan teks yang dapat dibaca manusia tanpa format. Ini berguna untuk pengindeksan, pencarian, atau memasukkan konten ke dalam alur analitik hilir.

Mengapa menggunakan GroupDocs.Viewer untuk Java?

  • Akurasi: Menangani tata letak kompleks, tabel, dan dokumen multi‑kolom.
  • Kecepatan: Mesin rendering yang dioptimalkan yang bekerja cepat bahkan pada file besar.
  • Dukungan lintas format: API yang sama bekerja untuk PDF, PPTX, XLSX, dan lainnya, sehingga Anda dapat menggunakan kembali kode.
  • Tanpa dependensi eksternal: Murni Java, tidak memerlukan pustaka native.

Prasyarat

  • Java Development Kit (JDK) 8 atau lebih baru.
  • Maven terpasang untuk manajemen dependensi.
  • File DOCX yang ingin Anda analisis (letakkan di folder yang diketahui).

Menyiapkan GroupDocs.Viewer untuk Java

Tambahkan repositori GroupDocs dan dependensi ke pom.xml Anda:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/viewer/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-viewer</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

Langkah-langkah Akuisisi Lisensi

Inisialisasi Dasar

  1. Impor kelas yang diperlukan.
  2. Buat instance Viewer yang menunjuk ke file DOCX Anda.
  3. Gunakan ViewInfoOptions.forPngView(true) untuk meminta informasi tingkat halaman (metadata dan baris teks).

Cara mengekstrak teks dari docx – Panduan Langkah‑per‑Langkah

1. Mengekstrak Metadata Halaman

Metadata halaman seperti nomor halaman penting ketika Anda perlu membangun struktur navigasi atau merujuk ke bagian tertentu.

try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX")) {
    ViewInfoOptions viewInfoOptions = ViewInfoOptions.forPngView(true);
    ViewInfo viewInfo = viewer.getViewInfo(viewInfoOptions);
    for (Page page : viewInfo.getPages()) {
        int pageNumber = page.getNumber();
        System.out.println("Page: " + pageNumber); // Outputs the page number
    }
}
  • ViewInfoOptions.forPngView(true): Menginstruksikan API untuk mengumpulkan informasi halaman saat menyiapkan rendering PNG.
  • viewInfo.getPages(): Mengembalikan koleksi di mana setiap objek Page berisi nomor dan metadata lainnya.

Tip pro: Buang (dispose) Viewer di dalam blok try‑with‑resources untuk secara otomatis membebaskan sumber daya native.

2. Mengekstrak Baris Teks dari Halaman

Sekarang Anda dapat mengidentifikasi setiap halaman, mari ambil baris teks sebenarnya.

try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX")) {
    ViewInfoOptions viewInfoOptions = ViewInfoOptions.forPngView(true);
    ViewInfo viewInfo = viewer.getViewInfo(viewInfoOptions);
    for (Page page : viewInfo.getPages()) {
        System.out.println("Page: " + page.getNumber());
        System.out.println("Text lines:");
        
        for (Line line : page.getLines()) {
            String lineText = line.getValue();
            System.out.print(lineText + "\t");
        }
    }
}
  • page.getLines(): Mengembalikan daftar objek Line, masing‑masing mewakili satu baris teks sebagaimana muncul pada halaman.
  • Loop dalam mencetak setiap baris, dipisahkan oleh tab untuk keterbacaan.

Masalah Umum & Solusi

GejalaPenyebab KemungkinanPerbaikan
null nomor halamanDokumen tidak dimuat dengan benarVerifikasi jalur file dan pastikan file tersebut ada.
Tidak ada baris teks yang dikembalikanFormat file tidak didukungPeriksa apakah versi DOCX didukung; tingkatkan GroupDocs jika diperlukan.
OutOfMemoryError pada file besarViewer menyimpan terlalu banyak halaman dalam memoriProses halaman dalam batch yang lebih kecil atau gunakan kembali instance Viewer yang sama.

Aplikasi Praktis

  1. Pengindeksan Mesin Pencari: Simpan nomor halaman bersama teks yang diekstrak untuk memungkinkan pengambilan cuplikan yang tepat.
  2. Peninjauan Dokumen Hukum: Ambil setiap baris untuk deteksi klausa otomatis atau alur kerja redaksi.
  3. Migrasi Konten: Pindahkan konten DOCX lama ke dalam CMS sambil mempertahankan struktur.
  4. Dashboard Pelaporan: Ringkas bagian kunci dengan mengekstrak judul dan poin-poin bullet.

Pertimbangan Kinerja

  • Buang dengan Benar: Selalu tutup Viewer (gunakan try‑with‑resources).
  • Pemrosesan Batch: Saat menangani banyak dokumen, gunakan kembali satu instance Viewer per thread untuk mengurangi beban.
  • Opsi Rendering: Jika Anda hanya membutuhkan teks, Anda dapat melewatkan rendering PNG dengan menggunakan ViewInfoOptions.forTextView() (tidak ditampilkan di sini) untuk mengurangi waktu pemrosesan.

Kesimpulan

Anda kini tahu cara mengekstrak teks dari docx menggunakan GroupDocs.Viewer untuk Java, mengambil nomor halaman, dan mengiterasi setiap baris teks. Blok‑blok bangunan ini memungkinkan Anda membuat pipeline pemrosesan dokumen yang kuat, cepat, andal, dan mudah dipelihara.

Langkah Selanjutnya

  • Bereksperimen dengan format lain (PDF, PPTX) menggunakan API yang sama.
  • Gabungkan teks yang diekstrak dengan mesin pencarian full‑text seperti Elasticsearch.
  • Jelajahi opsi styling untuk gambar yang dirender jika Anda juga memerlukan pratinjau visual.

Pertanyaan yang Sering Diajukan

Q: Format file apa yang didukung oleh GroupDocs.Viewer?
A: Ia mendukung berbagai format, termasuk DOCX, PDF, XLSX, PPTX, dan banyak lagi.

Q: Bisakah saya menyesuaikan format output saat mengekstrak baris?
A: Ya, dengan mengonfigurasi ViewInfoOptions (misalnya, forTextView() untuk teks murni).

Q: Apakah ada batasan jumlah halaman yang dapat diproses?
A: Tidak ada batasan keras, tetapi dokumen yang sangat besar mungkin memerlukan pemrosesan batch agar tetap efisien memori.

Q: Bagaimana cara menangani pengecualian di GroupDocs.Viewer?
A: Bungkus kode Viewer Anda dalam blok try‑catch dan tangani ViewerException atau IOException umum sesuai kebutuhan.

Q: Bisakah alat ini terintegrasi dengan kerangka kerja Java lainnya?
A: Tentu saja! Ia bekerja mulus dengan Spring, Hibernate, Jakarta EE, dan lainnya.

Sumber Daya


Terakhir Diperbarui: 2026-04-13
Diuji Dengan: GroupDocs.Viewer for Java 25.2
Penulis: GroupDocs