
GroupDocs.Comparison for .NET adalah pustaka C# yang memungkinkan Anda membandingkan dokumen dan menemukan perbedaan. Bandingkan dan gabungkan Microsoft Word, Excel, PowerPoint, OpenDocument, PDF, Text, HTML dan banyak dokumen lainnya, mengambil daftar perubahan antara dokumen sumber dan target, menerapkan atau menolak perubahan dan menyimpan hasil dengan GroupDocs .API Perbandingan. Selain itu, GroupDocs.Comparison dapat mengidentifikasi perubahan gaya dan pemformatan - seperti huruf tebal, miring, garis bawah, coretan, jenis font, dll.
Algoritme deteksi perubahan yang digunakan oleh GroupDocs.Comparison memungkinkan untuk mendeteksi perbedaan di berbagai bagian dan blok dokumen:
- Blok teks - paragraf, kata dan karakter;
- Tabel;
- Gambar-gambar;
- Bentuk dll.
Berikut adalah langkah-langkah sederhana untuk membandingkan dua file teks dan menunjukkan perbedaannya:
- Instansiasi objek Comparer dengan path atau stream dokumen sumber;
- Panggil metode Tambah dan tentukan jalur atau aliran dokumen target;
- Panggil metode Bandingkan.
Cuplikan kode berikut menunjukkan kasus perbandingan dokumen yang paling sederhana menggunakan beberapa baris kode.
Bandingkan dokumen dari file lokal
using (Comparer comparer = new Comparer(“source.docx”))
{
comparer.Add(“target.docx”);
comparer.Compare(“result.docx”);
}
Bandingkan dokumen dari aliran
using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”)))
{
comparer.Add(File.OpenRead(“target.docx”));
comparer.Compare(File.Create(“result.docx”));
}
Katakanlah Anda memiliki dua kontrak dalam format DOCX yang diselesaikan pada tahun yang berbeda. Jika Anda menggunakan kode di atas untuk membandingkan kontrak ini, Anda mendapatkan file DOCX di mana elemen yang dihapus ditandai dengan warna merah, ditambahkan dengan warna biru, dan dimodifikasi dengan warna hijau seperti yang ditunjukkan di bawah ini:

Terima atau Tolak perbedaan yang terdeteksi
GroupDocs.Comparison memberikan kemampuan untuk menerapkan atau membuang perubahan tertentu antara dokumen sumber dan target dan menyimpan dokumen yang dihasilkan dengan (atau tanpa) perubahan yang dipilih.
Berikut adalah langkah-langkah untuk menerapkan/menolak perubahan pada dokumen yang dihasilkan.
- Instansiasi objek Comparer dengan path atau stream dokumen sumber;
- Panggil metode Add dan tentukan jalur atau aliran dokumen target jalur;
- Panggil metode Bandingkan;
- Panggil metode GetChanges dan dapatkan daftar perubahan yang terdeteksi;
- Tetapkan ComparisonAction objek perubahan yang diperlukan ke nilai ComparisonAction.Accept atau ComparisonAction.Reject;
- Panggil metode ApplyChanges dan berikan kumpulan perubahan padanya.
Contoh kode berikut menunjukkan cara menerima/menolak perbedaan yang terdeteksi.
using (Comparer comparer = new Comparer(“source.docx”))
{
comparer.Add(“target.docx”);
comparer.Compare();
ChangeInfo[] changes = comparer.GetChanges();
changes[0].ComparisonAction = ComparisonAction.Reject;
comparer.ApplyChanges(File.Create(“result.docx”), new SaveOptions(), new ApplyChangeOptions() { Changes = changes });
}
Buat pratinjau halaman dokumen
GroupDocs.Comparison memungkinkan untuk menghasilkan pratinjau halaman untuk dokumen sumber, target, dan hasil menggunakan metode GeneratePreview dari kelas Document.
Kelas PreviewOptions digunakan untuk mengelola proses pembuatan pratinjau - tentukan nomor halaman yang diinginkan, format gambar, dll.
Berikut adalah langkah-langkah untuk membuat pratinjau dokumen dengan GroupDocs.Comparison API:
- Buat instance baru dari kelas Comparer dan berikan jalur dokumen sumber sebagai parameter konstruktor;
- Tambahkan dokumen target ke perbandingan menggunakan metode Add;
- Sumber and Targets properties of Comparer object allows to access source and target documents and provides GeneratePreview method;
- Buat instance objek PreviewOptions dengan:
- mendelegasikan untuk setiap pembuatan aliran halaman (lihat event handler CreatePageStream);
- format pratinjau gambar - PNG / JPG / BMP;
- nomor halaman untuk diproses;
- ukuran khusus gambar pratinjau (jika perlu).
- Panggil metode GeneratePreview dari Source dan Targets dokumen dan teruskan PreviewOptions ke sana.
Dapatkan pratinjau halaman untuk dokumen yang dihasilkan
using (Comparer comparer = new Comparer(“source.docx”))
{
comparer.Add(“target.docx”);
comparer.Compare(“result.docx”);
Document document = new Document(File.OpenRead(“result.docx”));
PreviewOptions previewOptions = new PreviewOptions(pageNumber =>
{
var pagePath = Path.Combine(“C:\\”, $"result\_{pageNumber}.png");
return File.Create(pagePath);
});
previewOptions.PreviewFormat = PreviewFormats.PNG;
previewOptions.PageNumbers = new int[] { 1, 2 };
document.GeneratePreview(previewOptions);
}
Bandingkan beberapa dokumen
GroupDocs.Comparison memungkinkan membandingkan lebih dari dua dokumen. Contoh kode berikut menunjukkan cara membandingkan beberapa dokumen secara terprogram.
using (Comparer comparer = new Comparer(“source.docx”)
{
comparer.Add(“target1.docx”);
comparer.Add(“target2.docx”);
comparer.Add(“target3.docx”);
comparer.Compare(“result.docx”);
}
Instalasi
NuGet adalah cara termudah untuk mengunduh dan menginstal GroupDocs.Comparison for .NET. Harap dapatkan lisensi sementara untuk menguji perpustakaan tanpa batasan fungsional apa pun.
Silakan periksa dokumentasi untuk mempelajari lebih lanjut tentang perpustakaan. Kami juga menawarkan dukungan teknis gratis jadi silakan hubungi kami - kami akan dengan senang hati membantu.