เอกสารการประมวลผลคำเป็นวิธีที่พบได้บ่อยที่สุดในการร่างสัญญา ข้อตกลง เอกสาร และเอกสารทางการอื่นๆ อีกมากมาย หากคุณต้องการเปรียบเทียบและรวมเอกสาร Word สองฉบับ เช่นเดียวกับตัวเลือกติดตามการเปลี่ยนแปลงของ Microsoft Word เราสามารถทำได้โดยทางโปรแกรมภายในแอปพลิเคชัน .NET ของเรา ในบทความนี้ เราจะพูดถึงวิธีการเปรียบเทียบเอกสาร Word สองฉบับและเน้นความแตกต่างที่ระบุโดยใช้ C# นอกจากนี้ เราจะดูวิธีการเปรียบเทียบเอกสารที่ป้องกันด้วยรหัสผ่าน ยอมรับและปฏิเสธการเปลี่ยนแปลง และเปรียบเทียบเอกสารมากกว่าสองรายการด้วยตัวอย่าง C#

เปรียบเทียบเอกสาร Word เพื่อค้นหาความแตกต่างโดยใช้ .NET API

หัวข้อต่อไปนี้จะกล่าวถึงที่นี่:

.NET API เพื่อเปรียบเทียบเอกสาร Word

GroupDocs.Comparison มี .NET API ที่อนุญาตให้ เปรียบเทียบแล้วรวมเอกสารต่างๆ ของไฟล์หลายรูปแบบ ภายในแอปพลิเคชัน .NET ฉันจะใช้ .NET API เช่น GroupDocs.Comparison for .NET เพื่อเปรียบเทียบเอกสาร Word

คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ MSI ได้จาก ส่วนการดาวน์โหลด หรือติดตั้ง API ในแอปพลิเคชัน .NET ของคุณผ่านทาง NuGet

PM> Install-Package GroupDocs.Comparison

เปรียบเทียบเอกสาร Word โดยใช้ C#

หากคุณมีเอกสารสองเวอร์ชัน คุณสามารถเปรียบเทียบเอกสารเพื่อค้นหาความแตกต่าง (เพิ่มเติม ลบ) และสร้างเอกสารใหม่ที่แสดงการเปลี่ยนแปลงทั้งหมด ต่อไปนี้เป็นขั้นตอนในการเปรียบเทียบเอกสาร Word สองฉบับและเน้นความแตกต่าง

  • โหลดเอกสาร Word แรกโดยใช้คลาส Comparer
  • เพิ่มไฟล์ที่สองไปยังตัวเปรียบเทียบโดยใช้เมธอด Add()
  • เปรียบเทียบและรับสรุปการเปลี่ยนแปลงโดยเรียกใช้เมธอด Compare()

รหัส C# ต่อไปนี้แสดงวิธีการเปรียบเทียบเอกสาร Word และรับการเปลี่ยนแปลงในเอกสารผลลัพธ์

/*
 * เปรียบเทียบเอกสาร Word สองฉบับและเน้นการเปลี่ยนแปลงโดยใช้ C#
 */
using (Comparer comparer = new Comparer("path/document.docx"))
{
    comparer.Add("path/document-ver2.docx");
    comparer.Compare("path/compared-result.docx");
}

ยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุของเอกสาร Word โดยใช้ C#

เช่นเดียวกับตัวเลือกการติดตามการเปลี่ยนแปลงของ MS Word คุณสามารถยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุแต่ละรายการได้ ต่อไปนี้เป็นขั้นตอนในการเปรียบเทียบและยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุภายในเอกสาร Word

  • โหลดเอกสารต้นฉบับและเพิ่มเอกสาร Word เป้าหมายโดยใช้คลาส Comparer
  • ทำการเปรียบเทียบเอกสารที่โหลดโดยใช้วิธี Compare()
  • รับการเปลี่ยนแปลงที่ระบุโดยใช้เมธอด GetChanges()
  • ตอนนี้คุณสามารถสำรวจการเปลี่ยนแปลงและตั้งค่า ComparisonAction ของการเปลี่ยนแปลงแต่ละรายการ
    • สำหรับการเปลี่ยนแปลงแต่ละครั้ง คุณสามารถเลือกยอมรับหรือปฏิเสธ
  • เมื่อทำการเปลี่ยนแปลงเสร็จแล้ว ให้เรียกเมธอด ApplyChanges() เพื่อรับเอกสารผลลัพธ์ที่มีการเปลี่ยนแปลงที่ใช้

ซอร์สโค้ด C# ต่อไปนี้เปรียบเทียบเอกสาร Word สองชุด จากนั้นยอมรับการเปลี่ยนแปลงที่ระบุแล้วปฏิเสธเอกสารอื่น

/*
 * ยอมรับและปฏิเสธการเปลี่ยนแปลงที่ระบุโดยการเปรียบเทียบเอกสาร Word โดยใช้ C#
 */
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
    comparer.Add("path/document-2.docx");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // ปฏิเสธการเปลี่ยนแปลงที่ระบุครั้งแรก และจะไม่ถูกเพิ่มลงในเอกสารผลลัพธ์
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges("path/rejected-change-result.docx", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });

    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/accepted-change-result.docx", new ApplyChangeOptions { Changes = changes });
}

เปรียบเทียบมากกว่าสองเอกสารโดยใช้ C#

ในทำนองเดียวกัน สามารถเปรียบเทียบเอกสารมากกว่าสองฉบับในคราวเดียว ต่อไปนี้เป็นขั้นตอนในการเปรียบเทียบเอกสาร Word หลายฉบับเพื่อหาความแตกต่างและเน้นการเปลี่ยนแปลงที่ระบุ

  • โหลดเอกสาร Word แรกโดยใช้คลาส Comparer
  • เพิ่มเอกสารอื่นๆ ต่อไปในการเปรียบเทียบโดยใช้เมธอด Add()
  • เรียกเมธอด Compare() เพื่อรับการเปลี่ยนแปลงและสรุปการเปลี่ยนแปลง

รหัส C# ต่อไปนี้แสดงวิธีการเปรียบเทียบเอกสาร Word มากกว่าสองฉบับและรับการเปลี่ยนแปลงในเอกสารผลลัพธ์

/*
 * เปรียบเทียบเอกสาร Word หลายชุดโดยใช้ C#
 */
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
    comparer.Add("path/document-2.docx");
    comparer.Add("path/document-3.docx");
    comparer.Add("path/document-4.docx");

    comparer.Compare("path/compare-result.docx");
}

เปรียบเทียบเอกสาร Word ที่ป้องกันด้วยรหัสผ่านโดยใช้ C#

หากเอกสารของคุณมีการป้องกันด้วยรหัสผ่าน เพียงระบุรหัสผ่านขณะโหลดเอกสาร ขั้นตอนต่อไปนี้แสดงวิธีที่เราสามารถเปรียบเทียบเนื้อหาของเอกสารที่ป้องกันด้วยรหัสผ่านโดยใช้ C#

  • เตรียมตัวเลือกการโหลดสำหรับเอกสารต้นทางและเป้าหมายโดยระบุรหัสผ่าน
  • โหลดเอกสารต้นฉบับโดยใช้คลาส Comparer
  • เพิ่มเอกสารเป้าหมายไปยังตัวเปรียบเทียบโดยใช้ตัวเลือกการโหลดที่เตรียมไว้
  • รับสรุปความแตกต่างโดยเรียกเมธอด Compare()

ตัวอย่างโค้ด C# ต่อไปนี้เปรียบเทียบไฟล์ Word ที่ป้องกันด้วยรหัสผ่านสองไฟล์ และสร้างเอกสารผลลัพธ์ที่เน้นความแตกต่าง

/*
 * เปรียบเทียบเอกสาร Word ที่ป้องกันด้วยรหัสผ่านโดยใช้ C#
 */
using (Comparer comparer = new Comparer("path/protected-document-1.docx", new LoadOptions(){ Password = "SourceFilePassword" }))
{
    comparer.Add("path/protected-document-2.docx", new LoadOptions() { Password = "TargetFilePassword" });
    comparer.Compare("path/compared-protected-docs-result.docx");
}

รับใบอนุญาต API ฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

โดยสรุป เราเรียนรู้ที่จะเปรียบเทียบเอกสาร Word ตั้งแต่สองเอกสารขึ้นไปโดยใช้ C# นอกจากนี้ หลังจากเน้นความแตกต่างแล้ว เราเรียนรู้ที่จะยอมรับและปฏิเสธการเปลี่ยนแปลงที่ระบุโดยทางโปรแกรม ในตอนท้าย เรายังคุยกันว่าเราจะเปรียบเทียบเอกสาร Word ที่ป้องกันด้วยรหัสผ่านภายในแอปพลิเคชัน .NET ได้อย่างไร

มี การปรับแต่งอื่นๆ เพื่อควบคุมผลการเปรียบเทียบ เช่น การตั้งค่าความไวในการเปรียบเทียบ แสดงเฉพาะหน้าสรุป การละเว้นช่องว่าง และอื่นๆ อีกมากมาย เรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Comparison for .NET ไปที่ documentation เพื่อเริ่มสร้างแอปพลิเคชันเปรียบเทียบเอกสารของคุณเองสำหรับ รูปแบบเอกสารที่รองรับ ต่างๆ สำหรับข้อสงสัย ติดต่อเราผ่านทาง ฟอรัม

ดูสิ่งนี้ด้วย