เราได้กล่าวถึงการเปรียบเทียบเอกสาร Word สองฉบับแล้วแม้ว่าจะมีการป้องกันด้วยรหัสผ่านก็ตาม จะเกิดอะไรขึ้นถ้ามีมากกว่าสองไฟล์สำหรับการเปรียบเทียบ ในบทความนี้ เราจะดูวิธีการเปรียบเทียบเอกสาร Word หลายชุดใน Java นอกจากนี้ เราจะเรียนรู้วิธียอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุแต่ละรายการเพื่อให้ได้ผลลัพธ์ที่ต้องการ

เปรียบเทียบเอกสาร Word หลายชุดเพื่อค้นหาความแตกต่างใน Java

บทความสั้นชุดล่าสุดได้ครอบคลุมวิธีการของ Java แล้ว:

ในตอนท้ายของบทความนี้ คุณยังจะเข้าใจวิธีการ:

หากสภาพแวดล้อมการพัฒนาของคุณยังไม่พร้อมที่จะทำการเปรียบเทียบ มาเตรียมกันอย่างรวดเร็ว

Java Library เพื่อเปรียบเทียบเอกสาร Word สองชุดขึ้นไป – ตั้งค่า

ฉันหวังว่าคุณจะคุ้นเคยกับ การเปรียบเทียบเอกสาร Java API ในตอนนี้ ฉันจะใช้ GroupDocs.Comparison เดียวกันเพื่อดำเนินการต่อ คุณสามารถ ดาวน์โหลด หรือตรวจสอบสภาพแวดล้อมการพัฒนาของแอปพลิเคชันที่ใช้ maven ได้อย่างรวดเร็วโดยใช้การกำหนดค่าต่อไปนี้:

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>22.3</version> 
</dependency>

ตอนนี้ขอข้ามไปที่วัตถุประสงค์และเริ่มต้นด้วยการเปรียบเทียบไฟล์ Word หลายไฟล์

เปรียบเทียบไฟล์ Word มากกว่าสองไฟล์ใน Java

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

  • โหลดไฟล์ DOC/DOCX ไฟล์แรกโดยใช้คลาส Comparer
  • เพิ่มไฟล์ที่สองไปยังตัวเปรียบเทียบโดยใช้เมธอด add()
  • ให้เพิ่มเอกสารเพิ่มเติมไปยังตัวเปรียบเทียบโดยใช้วิธีการเพิ่ม() เดียวกัน/คล้ายกัน
  • เรียกใช้วิธีการเปรียบเทียบเพื่อทำการเปรียบเทียบและรับข้อมูลสรุปของการเปลี่ยนแปลงที่ระบุ

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

/*
 * เปรียบเทียบเอกสาร Word หลายชุด
 */
try (Comparer comparer = new Comparer("path/document-1.docx")) {
    comparer.add("path/document-2.docx");
    comparer.add("path/document-3.docx");
    final Path resultPath = comparer.compare("path/compared-result.docx");
}

ยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุภายในไฟล์ Word โดยใช้ Java

ค่อนข้างแน่ใจว่าคุณคุ้นเคยกับคุณสมบัติการติดตามการเปลี่ยนแปลงของ Microsoft Word ในทำนองเดียวกัน คุณสามารถยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุแต่ละรายการสำหรับเอกสารเอาต์พุตขั้นสุดท้ายโดยทางโปรแกรม ขั้นตอนต่อไปนี้แสดงวิธีการเปรียบเทียบและยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุภายในไฟล์ DOC/DOCX ของเอกสาร Word

  • โหลดเอกสาร DOC/DOCX ต้นทางโดยใช้คลาส Comparer
  • เพิ่มเอกสาร Word ที่สองไปยังตัวเปรียบเทียบโดยใช้เมธอด add()
  • เปรียบเทียบไฟล์ที่โหลดโดยใช้วิธีการเปรียบเทียบ()
  • ดึงข้อมูลชุดความแตกต่างที่ระบุโดยใช้เมธอด getChanges()
  • ตอนนี้สำรวจการเปลี่ยนแปลง วิเคราะห์ จากนั้นคุณสามารถตั้งค่า ComparisonAction ของการเปลี่ยนแปลงแต่ละรายการตามนั้น
    • ตั้งเป็นยอมรับเพื่อยอมรับการเปลี่ยนแปลง
    • ตั้งเป็นปฏิเสธเพื่อปฏิเสธการเปลี่ยนแปลง
  • เรียกใช้เมธอด applyChanges() เพื่อรับเอกสารที่แก้ไขพร้อมการเปลี่ยนแปลงที่ยอมรับ

ข้อมูลโค้ด Java ต่อไปนี้เปรียบเทียบเอกสาร DOCX สองรายการ จากนั้นแสดงวิธียอมรับและปฏิเสธการเปลี่ยนแปลงที่ระบุ

/*
 * เปรียบเทียบเอกสาร Word - ยอมรับหรือปฏิเสธการเปลี่ยนแปลงใน Java
 */
try (Comparer comparer = new Comparer("path/document-1.docx")) {
    comparer.add("path/document-2.docx");
    
    final Path resultPath = comparer.compare("path/compared-result.docx");
    ChangeInfo[] changes = comparer.getChanges();

    changes[0].setComparisonAction(ComparisonAction.REJECT);
    changes[1].setComparisonAction(ComparisonAction.ACCEPT);
    comparer.applyChanges(resultPath, new ApplyChangeOptions(changes));
}

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

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

สร้างแอปพลิเคชันเปรียบเทียบของคุณเอง

ต่อไปนี้คือลิงก์สำคัญบางส่วนที่จะช่วยคุณสร้างแอปพลิเคชันเปรียบเทียบเอกสารของคุณเอง

ฟีเจอร์ | เอกสารประกอบ | การอ้างอิง API | ตัวอย่างการทำงาน – ซอร์สโค้ด | สนับสนุน | บันทึกประจำรุ่น

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