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.

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
Viewerdan 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
Viewerdan 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
- Percobaan Gratis: Unduh percobaan gratis dari halaman unduhan GroupDocs.
- Lisensi Sementara: Dapatkan lisensi sementara untuk pengujian lanjutan melalui halaman lisensi sementara.
- Pembelian: Untuk akses penuh dan dukungan, pertimbangkan membeli lisensi melalui portal pembelian GroupDocs.
Inisialisasi Dasar
- Impor kelas yang diperlukan.
- Buat instance
Vieweryang menunjuk ke file DOCX Anda. - 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 objekPageberisi 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 objekLine, masing‑masing mewakili satu baris teks sebagaimana muncul pada halaman.- Loop dalam mencetak setiap baris, dipisahkan oleh tab untuk keterbacaan.
Masalah Umum & Solusi
| Gejala | Penyebab Kemungkinan | Perbaikan |
|---|---|---|
null nomor halaman | Dokumen tidak dimuat dengan benar | Verifikasi jalur file dan pastikan file tersebut ada. |
| Tidak ada baris teks yang dikembalikan | Format file tidak didukung | Periksa apakah versi DOCX didukung; tingkatkan GroupDocs jika diperlukan. |
OutOfMemoryError pada file besar | Viewer menyimpan terlalu banyak halaman dalam memori | Proses halaman dalam batch yang lebih kecil atau gunakan kembali instance Viewer yang sama. |
Aplikasi Praktis
- Pengindeksan Mesin Pencari: Simpan nomor halaman bersama teks yang diekstrak untuk memungkinkan pengambilan cuplikan yang tepat.
- Peninjauan Dokumen Hukum: Ambil setiap baris untuk deteksi klausa otomatis atau alur kerja redaksi.
- Migrasi Konten: Pindahkan konten DOCX lama ke dalam CMS sambil mempertahankan struktur.
- 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
Viewerper 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
- Dokumentasi GroupDocs
- Referensi API
- Unduh GroupDocs.Viewer
- Beli Lisensi
- Unduhan Percobaan Gratis
- Permintaan Lisensi Sementara
Terakhir Diperbarui: 2026-04-13
Diuji Dengan: GroupDocs.Viewer for Java 25.2
Penulis: GroupDocs