
GroupDocs.Comparison for .NET เป็นไลบรารี C# ที่ให้คุณเปรียบเทียบเอกสารและค้นหาความแตกต่าง เปรียบเทียบและรวม Microsoft Word, Excel, PowerPoint, OpenDocument, PDF, Text, HTML และ เอกสารอื่นๆ อีกมากมาย ดึงรายการการเปลี่ยนแปลงระหว่างเอกสารต้นทางและเอกสารเป้าหมาย ใช้หรือปฏิเสธการเปลี่ยนแปลง และบันทึกผลลัพธ์ด้วย GroupDocs .การเปรียบเทียบ API นอกจากนี้ GroupDocs.Comparison ยังสามารถระบุการเปลี่ยนแปลงสไตล์และการจัดรูปแบบ เช่น ตัวหนา ตัวเอียง ขีดเส้นใต้ ขีดทับ ประเภทฟอนต์ ฯลฯ
อัลกอริทึมการตรวจจับการเปลี่ยนแปลงที่ใช้โดย GroupDocs.Comparison ช่วยให้สามารถตรวจจับความแตกต่างในส่วนและบล็อกของเอกสารต่างๆ ได้:
- บล็อกข้อความ - ย่อหน้า คำ และอักขระ
- ตาราง;
- รูปภาพ;
- รูปทรงเป็นต้น
ต่อไปนี้เป็นขั้นตอนง่ายๆ ในการเปรียบเทียบไฟล์ข้อความสองไฟล์และแสดงความแตกต่าง:
- สร้างอินสแตนซ์วัตถุ Comparer ด้วยพาธเอกสารต้นทางหรือสตรีม
- เรียกใช้เมธอด Add และระบุพาธหรือสตรีมเอกสารเป้าหมาย
- เรียกวิธี เปรียบเทียบ
ข้อมูลโค้ดต่อไปนี้แสดงกรณีเปรียบเทียบเอกสารที่ง่ายที่สุดโดยใช้โค้ดสองสามบรรทัด
เปรียบเทียบเอกสารจากไฟล์ในเครื่อง
using (Comparer comparer = new Comparer(“source.docx”))
{
comparer.Add(“target.docx”);
comparer.Compare(“result.docx”);
}
เปรียบเทียบเอกสารจากสตรีม
using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”)))
{
comparer.Add(File.OpenRead(“target.docx”));
comparer.Compare(File.Create(“result.docx”));
}
สมมติว่าคุณมีสัญญา 2 ฉบับในรูปแบบ DOCX ที่สรุปในปีที่ต่างกัน หากคุณใช้โค้ดด้านบนเพื่อเปรียบเทียบสัญญาเหล่านี้ คุณจะได้รับไฟล์ DOCX ซึ่งองค์ประกอบที่ถูกลบจะถูกทำเครื่องหมายด้วยสีแดง ส่วนที่ถูกเพิ่มเป็นสีน้ำเงิน และส่วนที่แก้ไขเป็นสีเขียวดังที่แสดงด้านล่าง:

ยอมรับหรือปฏิเสธความแตกต่างที่ตรวจพบ
GroupDocs.Comparison ให้ความสามารถในการใช้หรือละทิ้งการเปลี่ยนแปลงเฉพาะเจาะจงระหว่างเอกสารต้นทางและเป้าหมาย และบันทึกเอกสารผลลัพธ์โดยมี (หรือไม่มี) การเปลี่ยนแปลงที่เลือก
ต่อไปนี้เป็นขั้นตอนในการปรับใช้/ปฏิเสธการเปลี่ยนแปลงในเอกสารผลลัพธ์
- สร้างอินสแตนซ์ Comparer วัตถุด้วยเส้นทางเอกสารต้นทางหรือสตรีม
- เรียกเมธอด Add และระบุพาธเป้าหมายเอกสารพาธหรือสตรีม
- โทร เปรียบเทียบ วิธีการ;
- เรียกเมธอด GetChanges และรับรายการการเปลี่ยนแปลงที่ตรวจพบ
- ตั้งค่า ComparisonAction ของออบเจ็กต์การเปลี่ยนแปลงที่จำเป็นเป็นค่า ComparisonAction.Accept หรือ ComparisonAction.Reject
- เรียกใช้เมธอด ApplyChanges และส่งผ่านการรวบรวมการเปลี่ยนแปลง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการยอมรับ/ปฏิเสธความแตกต่างที่ตรวจพบ
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 });
}
สร้างตัวอย่างหน้าเอกสาร
GroupDocs.Comparison อนุญาตให้สร้างหน้าตัวอย่างสำหรับเอกสารต้นทาง เป้าหมาย และผลลัพธ์โดยใช้เมธอด GeneratePreview ของคลาส Document
PreviewOptions class ใช้เพื่อจัดการกระบวนการสร้างหน้าตัวอย่าง - ระบุหมายเลขหน้าที่ต้องการ รูปแบบภาพ เป็นต้น
ต่อไปนี้เป็นขั้นตอนในการสร้างตัวอย่างเอกสารด้วย GroupDocs.Comparison API:
- สร้างอินสแตนซ์ใหม่ของคลาส Comparer และส่งเส้นทางเอกสารต้นฉบับเป็นพารามิเตอร์ตัวสร้าง
- เพิ่มเอกสารเป้าหมายเพื่อเปรียบเทียบโดยใช้เมธอด Add;
- แหล่งที่มา and Targets properties of Comparer object allows to access source and target documents and provides GeneratePreview method;
- ยกตัวอย่างวัตถุ PreviewOptions ด้วย:
- ผู้รับมอบสิทธิ์สำหรับการสร้างสตรีมเพจแต่ละครั้ง (ดูที่ตัวจัดการเหตุการณ์ CreatePageStream)
- รูปแบบภาพตัวอย่าง - PNG / JPG / BMP;
- หมายเลขหน้าที่ต้องดำเนินการ
- ขนาดภาพตัวอย่างที่กำหนดเอง (ถ้าจำเป็น)
- เรียกใช้เมธอด GeneratePreview ของเอกสาร Source และ Targets แล้วส่ง PreviewOptions ไปให้
รับหน้าตัวอย่างสำหรับเอกสารผลลัพธ์
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);
}
เปรียบเทียบเอกสารหลายฉบับ
GroupDocs.Comparison อนุญาตให้เปรียบเทียบเอกสารมากกว่าสองฉบับ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเปรียบเทียบเอกสารหลายรายการโดยทางโปรแกรม
using (Comparer comparer = new Comparer(“source.docx”)
{
comparer.Add(“target1.docx”);
comparer.Add(“target2.docx”);
comparer.Add(“target3.docx”);
comparer.Compare(“result.docx”);
}
การติดตั้ง
NuGet เป็นวิธีที่ง่ายที่สุดในการดาวน์โหลดและติดตั้ง GroupDocs.Comparison for .NET โปรด รับใบอนุญาตชั่วคราว เพื่อทดสอบห้องสมุดโดยไม่มีข้อจำกัดด้านการทำงาน
โปรดตรวจสอบ เอกสารประกอบ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับห้องสมุด เรายังให้การสนับสนุนทางเทคนิคฟรี ดังนั้นโปรด ติดต่อเรา - เรายินดีที่จะช่วยเหลือ