Perbandingan dokumen MS Word dilakukan untuk mengetahui perbedaan antara dua versi dokumen. MS Word menyediakan opsi bawaan untuk membandingkan konten dua dokumen. Namun, dengan bertambahnya jumlah dokumen, sulit untuk melakukan perbandingan dokumen secara manual. Untuk mengotomatiskan proses ini, artikel ini membahas cara membandingkan dua dokumen MS Word (DOC/DOCX) menggunakan Java.
- API Perbandingan Dokumen MS Word untuk Java
- Bandingkan Dokumen MS Word menggunakan Java
- Abaikan Pemformatan dalam Perbandingan Dokumen MS Word
- Tetapkan Dokumen Target untuk Perbedaan Perbandingan
- Atur Perincian untuk Membandingkan Dokumen MS Word
Java API untuk Membandingkan Dokumen MS Word
Aspose.Words for Java adalah API manipulasi dokumen yang kuat yang memungkinkan Anda membuat, membaca, memodifikasi, dan mengonversi dokumen MS Word. Selain itu, ini memungkinkan Anda untuk membandingkan dua dokumen Word bersamaan dengan mempertimbangkan atau mengabaikan pemformatan konten. Anda dapat mengunduh API atau menginstalnya menggunakan konfigurasi Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.9</version>
<classifier>jdk17</classifier>
</dependency>
Bandingkan Dokumen MS Word menggunakan Java
Berikut adalah langkah-langkah untuk melakukan perbandingan dokumen Word sederhana menggunakan Aspose.Words for Java API.
- Muat dokumen yang akan dibandingkan menggunakan kelas Document.
- Panggil metode Document.compare(Document, String, Date) untuk membandingkan dokumen dengan yang diteruskan sebagai argumen.
Contoh kode berikut menunjukkan cara membandingkan dua dokumen MS Word menggunakan Java.
Document docA = new Document(dataDir + "DocumentA.doc");
Document docB = new Document(dataDir + "DocumentB.doc");
docA.compare(docB, "user", new Date()); // docA now contains changes as revisions
Perbandingan Dokumen Word Java - Abaikan Pemformatan
Mungkin ada kasus ketika dokumen memiliki pemformatan berbeda yang diterapkan pada konten. Dalam kasus seperti itu, Anda lebih suka membandingkan teks saja sambil mengabaikan pemformatan, header/footer, catatan kaki, tabel, komentar, dll. Berikut ini adalah langkah-langkah untuk mengabaikan pemformatan dokumen saat membandingkan dua dokumen MS Word.
- Muat dokumen yang akan dibandingkan menggunakan kelas Document.
- Buat objek kelas CompareOptions.
- Tetapkan CompareOptions.setIgnoreFormatting(true).
- Bandingkan dokumen menggunakan metode Document.compare(Document, String, Date, CompareOptions).
Contoh kode berikut menunjukkan cara membandingkan dokumen MS Word dengan mengabaikan pemformatan konten menggunakan Java.
// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-words/Aspose.Words-for-Java
String dataDir = Utils.getDataDir(CompareTwoWordDocumentswithCompareOptions.class);
com.aspose.words.Document docA = new com.aspose.words.Document(dataDir + "DocumentA.doc");
com.aspose.words.Document docB = new com.aspose.words.Document(dataDir + "DocumentB.doc");
com.aspose.words.CompareOptions options = new com.aspose.words.CompareOptions();
options.setIgnoreFormatting(true);
options.setIgnoreHeadersAndFooters(true);
options.setIgnoreCaseChanges(true);
options.setIgnoreTables(true);
options.setIgnoreFields(true);
options.setIgnoreComments(true);
options.setIgnoreTextboxes(true);
options.setIgnoreFootnotes(true);
// DocA sekarang berisi perubahan sebagai revisi.
docA.compare(docB, "user", new Date(), options);
if (docA.getRevisions().getCount() == 0)
System.out.println("Documents are equal");
else
System.out.println("Documents are not equal");
Tetapkan Dokumen Word Target untuk Perbedaan Perbandingan
Aspose.Words for Java juga memungkinkan Anda menentukan dokumen sumber Word selama perbandingan. Untuk ini, Anda dapat menggunakan properti CompareOptions.setTarget() yang terkait dengan opsi “Tampilkan perubahan” di MS Word. Contoh kode berikut menunjukkan cara menentukan dokumen target dalam perbandingan.
Document docA = new Document(dataDir + "TestFile.doc");
Document docB = new Document(dataDir + "TestFile - Copy.doc");
CompareOptions options = new CompareOptions();
options.setIgnoreFormatting(true);
// Terkait dengan opsi Microsoft Word "Tampilkan perubahan" di kotak dialog "Bandingkan Dokumen".
options.setTarget(ComparisonTargetType.NEW);
docA.compare(docB, "user", new Date(), options);
Setel Granularitas untuk Membandingkan File Word di Java
Anda juga dapat mengatur perincian perubahan saat membandingkan dua dokumen MS Word. Hal ini dapat dilakukan dengan menggunakan properti CompareOptions.setGranularity(). Berikut ini adalah kemungkinan opsi perincian.
Contoh kode berikut menunjukkan cara menyetel perincian saat membandingkan dokumen MS Word menggunakan Java.
DocumentBuilder builderA = new DocumentBuilder(new Document());
DocumentBuilder builderB = new DocumentBuilder(new Document());
builderA.writeln("This is A simple word");
builderB.writeln("This is B simple words");
CompareOptions co = new CompareOptions();
co.setGranularity(Granularity.CHAR_LEVEL);
builderA.getDocument().compare(builderB.getDocument(), "author", new Date(), co);
Kesimpulan
Pada artikel ini, Anda telah melihat bagaimana membandingkan dua dokumen MS Word dalam berbagai skenario menggunakan Java. Anda dapat mempelajari lebih lanjut tentang Aspose.Words for Java menggunakan dokumentasi.
Coba gratis
Aspose menawarkan lisensi sementara bagi Anda untuk mencoba API-nya secara gratis. Anda bisa mendapatkan milik Anda untuk mengevaluasi Aspose.Words for Java.