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 โปรด รับใบอนุญาตชั่วคราว เพื่อทดสอบห้องสมุดโดยไม่มีข้อจำกัดด้านการทำงาน

โปรดตรวจสอบ เอกสารประกอบ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับห้องสมุด เรายังให้การสนับสนุนทางเทคนิคฟรี ดังนั้นโปรด ติดต่อเรา - เรายินดีที่จะช่วยเหลือ