Menguasai Perbandingan Dokumen di Java Menggunakan API GroupDocs.Comparison

Perkenalan

Bosan membandingkan dokumen secara manual? Baik itu mengidentifikasi perubahan pada header, footer, atau konten, perbandingan dokumen bisa menjadi tugas yang berat. Pustaka GroupDocs.Comparison untuk Java mengotomatiskan dan menyempurnakan proses ini dengan presisi dan mudah.

Tutorial komprehensif ini akan memandu Anda memanfaatkan GroupDocs.Comparison di Java untuk menyesuaikan gaya perbandingan dokumen, menyesuaikan pengaturan sensitivitas, mengabaikan perbandingan header/footer, mengatur ukuran kertas keluaran, dan banyak lagi. Di akhir panduan ini, Anda akan dapat menyederhanakan alur kerja secara efisien.

Apa yang Akan Anda Pelajari:

  • Abaikan header dan footer selama perbandingan dokumen.
  • Sesuaikan perubahan dengan penyesuaian gaya.
  • Sesuaikan sensitivitas perbandingan untuk analisis terperinci.
  • Mengatur ukuran kertas keluaran dalam aplikasi Java.
  • Terapkan fitur-fitur ini dalam skenario dunia nyata.

Pastikan Anda memiliki prasyarat yang diperlukan sebelum terjun ke aspek praktis.

Prasyarat

Untuk memulai dengan GroupDocs.Comparison untuk Java, pastikan Anda memiliki yang berikut ini:

  1. Kit Pengembangan Java (JDK): Pastikan JDK terinstal di komputer Anda. Versi apa pun di atas 8 sudah cukup.
  2. Pakar: Tutorial ini mengasumsikan Anda menggunakan Maven untuk mengelola dependensi proyek.
  3. Pustaka GroupDocs.Comparison:
    • Tambahkan dependensi berikut ke pom.xml:
<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/comparison/java/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>25.2</version>
    </dependency>
</dependencies>
  1. Lisensi: Dapatkan uji coba gratis, lisensi sementara, atau beli versi lengkap dari GroupDocs.

Dengan pengaturan ini, Anda siap untuk mulai menerapkan fitur perbandingan dokumen dalam aplikasi Java Anda.

Menyiapkan GroupDocs.Comparison untuk Java

Pastikan lingkungan kita dikonfigurasi dengan benar:

Instalasi melalui Maven

Tambahkan potongan XML di atas ke proyek Anda pom.xmlLangkah ini memastikan repositori dan dependensi yang diperlukan dikenali oleh Maven.

Akuisisi Lisensi

Setelah mendapatkan dan menyiapkan berkas lisensi Anda sesuai dengan dokumentasi GroupDocs, inisialisasi GroupDocs.Comparison seperti berikut:

// Contoh inisialisasi dasar
com.groupdocs.comparison.License license = new com.groupdocs.comparison.License();
license.setLicense("path/to/your/license/file.lic");

Panduan Implementasi

Fitur 1: Abaikan Perbandingan Header/Footer

Ringkasan: Header dan footer sering kali berisi informasi seperti nomor halaman atau judul dokumen, yang mungkin tidak relevan untuk perbandingan perubahan konten.

Menyiapkan Opsi

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import java.io.FileOutputStream;

public class IgnoreHeaderFooterExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/IgnoreHeaderFooter_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_with_footer.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target_with_footer.docx");

            // Tetapkan opsi perbandingan untuk mengabaikan header dan footer
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setHeaderFootersComparison(false)
                    .build();

            final Path resultPath = comparer.compare(resultStream, new SaveOptions(), compareOptions);
        }
    }
}

Penjelasan

  • CompareOptions.Builder().setHeaderFootersComparison(false): Pengaturan ini memerintahkan pustaka untuk melewati perbandingan header dan footer.
  • try-with-resources: Memastikan semua aliran ditutup dengan benar setelah digunakan.

Fitur 2: Mengatur Ukuran Kertas Keluaran

Ringkasan: Menyesuaikan ukuran kertas keluaran sangat penting untuk membuat dokumen yang mudah dicetak. Berikut cara menyesuaikannya selama perbandingan dokumen.

Langkah-langkah Implementasi

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.enums.PaperSize;

public class SetOutputPaperSizeExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/SetOutputPaperSize_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");

            // Atur ukuran kertas ke A6
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setPaperSize(PaperSize.A6)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

Penjelasan

  • CompareOptions.Builder().setPaperSize(PaperSize.A6): Mengatur ukuran kertas keluaran ke A6.

Fitur 3: Sesuaikan Sensitivitas Perbandingan

Ringkasan: Penyetelan halus sensitivitas perbandingan membantu mengidentifikasi perubahan kecil sekalipun. Berikut cara Anda dapat menyesuaikannya:

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;

public class AdjustComparisonSensitivityExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/AdjustComparisonSensitivity_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");

            // Atur sensitivitas ke 100
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setSensitivityOfComparison(100)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

Penjelasan

  • CompareOptions.Builder().setSensitivityOfComparison(100): Menyesuaikan tingkat sensitivitas untuk mendeteksi perubahan.

Fitur 4: Menyesuaikan Gaya Perubahan (Menggunakan Aliran)

Ringkasan: Membedakan antara teks yang disisipkan, dihapus, dan diubah membuat perbandingan lebih intuitif. Berikut cara menyesuaikan gaya menggunakan aliran:

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.save.SaveOptions;
import com.groupdocs.comparison.options.style.StyleSettings;

import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class CustomizeChangesStylesStreamExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/CustomizeChangesStylesStream_result.docx";

        try (InputStream sourceFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/source_word.docx");
             InputStream targetFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");
             OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer(sourceFile)) {

            comparer.add(targetFile);

            // Sesuaikan gaya perubahan
            StyleSettings insertedStyle = new StyleSettings();
            insertedStyle.setHighlightColor(Color.GREEN); // Hijau untuk penyisipan
            StyleSettings deletedStyle = new StyleSettings();
            deletedStyle.setHighlightColor(Color.RED); // Merah untuk penghapusan
            StyleSettings changedStyle = new StyleSettings();
            changedStyle.setHighlightColor(Color.BLUE); // Biru untuk perubahan

            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setInsertedItemStyle(insertedStyle)
                    .setDeletedItemStyle(deletedStyle)
                    .setChangedItemStyle(changedStyle)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

Penjelasan

  • Pengaturan Gaya Kustom: Menggunakan StyleSettings untuk menentukan warna sorotan untuk penyisipan (hijau), penghapusan (merah), dan perubahan (biru).
  • CompareOptions.Builder(): Terapkan gaya ini selama proses perbandingan.

Kesimpulan

Dengan memanfaatkan GroupDocs.Comparison untuk Java, Anda dapat mengotomatiskan perbandingan dokumen dengan presisi. Tutorial ini membahas cara mengabaikan header/footer, mengatur ukuran kertas keluaran, menyesuaikan sensitivitas, dan menyesuaikan gaya perubahan. Menerapkan fitur-fitur ini akan menyederhanakan alur kerja Anda dan meningkatkan analisis dokumen dalam aplikasi Java.

Tanya Jawab Umum

Ya, gunakan setHeaderFootersComparison(false) di dalam CompareOptions untuk mengecualikan header dan footer dari perbandingan.

2. Bagaimana cara mengatur ukuran kertas keluaran di Java menggunakan GroupDocs?

Menerapkan setPaperSize(PaperSize.A6) atau ukuran lainnya di CompareOptions untuk menyesuaikan ukuran kertas dokumen akhir.

3. Apakah mungkin untuk menyempurnakan sensitivitas perbandingan?

Ya, gunakan setSensitivityOfComparison() di dalam CompareOptions untuk menyesuaikan sensitivitas, mendeteksi perubahan kecil atau besar sesuai dengan itu.

4. Dapatkah saya memberi gaya pada teks yang dimasukkan, dihapus, dan diubah selama perbandingan?

Tentu saja, sesuaikan gaya melalui StyleSettings untuk berbagai jenis perubahan dan menerapkannya di CompareOptions.

5. Apa saja prasyarat untuk memulai Perbandingan GroupDocs di Java?

Instal JDK, kelola dependensi dengan Maven, dapatkan lisensi, dan tambahkan pustaka GroupDocs.Comparison ke proyek Anda.