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

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

หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:

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

ฉันจะใช้ GroupDocs.Comparison for Java API เพื่อเปรียบเทียบเอกสาร DOCX โดยจะเปรียบเทียบเพื่อตรวจจับการเปลี่ยนแปลงเนื้อหาสำหรับคำ ย่อหน้า และอักขระ พร้อมทั้งจัดทำเอกสารเปรียบเทียบที่แสดงรายการสรุปความแตกต่าง นอกจากนี้ยังช่วยให้คุณตรวจจับการเปลี่ยนแปลงและความแตกต่างในลักษณะข้อความระหว่างรูปแบบเอกสารที่คล้ายคลึงกัน API รองรับการเปรียบเทียบรูปแบบเอกสารมาตรฐานอุตสาหกรรมทั้งหมด เช่น PDF, HTML, Word, Excel, PowerPoint, อีเมล Outlook, ไดอะแกรม Visio, OpenDocument, AutoCAD และรูปภาพ

คุณสามารถ ดาวน์โหลด JAR ของ API หรือเพียงเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ 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>21.6</version> 
</dependency>

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

คุณสามารถเปรียบเทียบเอกสาร Word สองเอกสารขึ้นไปได้โดยทำตามขั้นตอนง่าย ๆ ที่ระบุด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Comparer
  2. ระบุเส้นทางไฟล์ DOCX ต้นทางให้กับตัวสร้าง
  3. เพิ่ม ไฟล์ DOCX เป้าหมายลงในการเปรียบเทียบ
  4. เรียกใช้เมธอด Compare() พร้อมกับเส้นทางไฟล์เอาต์พุต

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเปรียบเทียบเอกสาร Word และเน้นความแตกต่างโดยใช้ Java

// เริ่มต้นการเปรียบเทียบ
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// เพิ่มไฟล์เป้าหมาย
comparer.add("C:\\Files\\target.docx");

// เปรียบเทียบและบันทึกผลการเปรียบเทียบ
comparer.compare("C:\\Files\\result.docx");
เอกสาร Word แหล่งที่มาและเป้าหมาย

เอกสารต้นทางและเป้าหมาย

เปรียบเทียบเอกสาร Word สองฉบับโดยใช้ Java

เปรียบเทียบเอกสาร Word สองฉบับโดยใช้ Java

เอกสารผลลัพธ์ยังรวมถึงหน้าสรุปที่ส่วนท้ายของเอกสารด้วย จะแสดงข้อมูลสรุปการเปลี่ยนแปลงทั้งหมด

คลาส Comparer เป็นคลาสหลักที่ควบคุมกระบวนการเปรียบเทียบเอกสาร เปรียบเทียบ() วิธีการของคลาสนี้เปรียบเทียบเอกสารต้นทางและเป้าหมาย วิธีนี้จะบันทึกผลลัพธ์ไปยังเส้นทางไฟล์ที่ระบุเป็นพารามิเตอร์อินพุต Add() วิธีการของคลาสนี้เพิ่มไฟล์ในกระบวนการเปรียบเทียบ คุณสามารถเพิ่มหลายไฟล์ลงในการเปรียบเทียบได้อย่างง่ายดายโดยใช้เมธอด Add() ดังที่แสดงด้านล่าง:

comparer.Add("target2.docx");
comparer.Add("target3.docx");

รับข้อความของการเปลี่ยนแปลงโดยใช้ Java

คุณสามารถรับข้อความของการเปลี่ยนแปลงทางโปรแกรมได้โดยทำตามขั้นตอนง่ายๆ ที่ระบุด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Comparer
  2. ระบุเส้นทางไฟล์ DOCX ต้นทางให้กับตัวสร้าง
  3. เพิ่ม ไฟล์ DOCX เป้าหมายลงในการเปรียบเทียบ
  4. เรียกเมธอด Compare()
  5. เรียกใช้เมธอด getChanges() และรับรายละเอียดของการเปลี่ยนแปลง
  6. แสดงการเปลี่ยนแปลง

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับข้อความของการเปลี่ยนแปลงโดยใช้ Java

// เริ่มต้นการเปรียบเทียบ
Comparer เปรียบเทียบr = new Comparer("C:\\Files\\source.docx");

// เพิ่มไฟล์เป้าหมาย
เปรียบเทียบr.add("C:\\Files\\target.docx");

// เปรียบเทียบ
final Path resultPath = เปรียบเทียบr.เปรียบเทียบ();

// รับการเปลี่ยนแปลง
ChangeInfo[] changes = เปรียบเทียบr.getChanges();
System.out.println("Count of changes: " + changes.length);

for (ChangeInfo change : changes) {
    System.out.printf("Change Type: %d, Text: %s%n", change.getType(), change.getText());
}
Count of changes: 10
Change Type: 2, Text: 
Change Type: 2, Text:  Company  HYPERLINK "http://www.aspose.com/" Aspose Pty Ltd Division GroupDocs 
Change Type: 2, Text: 
Change Type: 2, Text: Cool 
Change Type: 3, Text: test 
Change Type: 2, Text:  
Change Type: 2, Text: signatures
Change Type: 2, Text: Our 
Change Type: 2, Text: char&#091;
Change Type: 2, Text: 255] 

คุณสามารถรับรายการการเปลี่ยนแปลงระหว่างไฟล์ต้นฉบับและไฟล์เป้าหมายได้โดยการเรียกเมธอด getChanges() ของคลาส Comparer ส่งคืนรายการวัตถุ ChangeInfo คลาส ChangeInfo จัดเตรียมวิธีการรับรายละเอียดของการเปลี่ยนแปลง เช่น getText() เพื่อรับข้อความของการเปลี่ยนแปลงเฉพาะ

เปรียบเทียบบุ๊กมาร์กในเอกสาร Word

คุณสามารถเปรียบเทียบบุ๊กมาร์กที่มีอยู่ในเอกสาร Word โดยทางโปรแกรมโดยทำตามขั้นตอนง่าย ๆ ที่ระบุด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Comparer
  2. ระบุเส้นทางไฟล์ DOCX ต้นทางให้กับตัวสร้าง
  3. เพิ่ม ไฟล์ DOCX เป้าหมายลงในการเปรียบเทียบ
  4. สร้างอินสแตนซ์ของ CompareOptions
  5. ตั้งค่า เปรียบเทียบบุ๊กมาร์ก ให้เป็นจริง
  6. เรียกเมธอด Compare() พร้อมกับเส้นทางของไฟล์เอาต์พุตและวัตถุ CompareOptions

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเปรียบเทียบบุ๊กมาร์กในเอกสาร Word โดยใช้ Java

// เริ่มต้นการเปรียบเทียบ
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// เพิ่มไฟล์เป้าหมาย
comparer.add("C:\\Files\\target.docx");

// กำหนดตัวเลือกการเปรียบเทียบ
CompareOptions compareOptions = new CompareOptions();
compareOptions.setCompareBookmarks(true);

// เปรียบเทียบและบันทึกผลการเปรียบเทียบ
comparer.compare("C:\\Files\\result.docx", compareOptions);
เปรียบเทียบบุ๊กมาร์กในเอกสาร Word โดยใช้ Java

เปรียบเทียบบุ๊กมาร์กในเอกสาร Word โดยใช้ Java

คุณสามารถปรับปรุงกระบวนการเปรียบเทียบของคุณได้โดยใช้ตัวเลือกการเปรียบเทียบต่างๆ เพื่อจุดประสงค์นี้ คลาส CompareOptions ช่วยให้คุณสามารถตั้งค่าตัวเลือกการเปรียบเทียบที่แตกต่างกันโดยการจัดหาวิธีการต่างๆ เมธอด setCompareBookmarks() ช่วยให้คุณสามารถเปรียบเทียบบุ๊กมาร์กที่มีอยู่ในเอกสารต้นทางและเอกสารเป้าหมาย

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

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

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีเปรียบเทียบเอกสาร Word สองเอกสารขึ้นไปและเน้นความแตกต่างโดยใช้ Java คุณยังได้เรียนรู้วิธีรับข้อความการเปลี่ยนแปลงที่ไฮไลต์อีกด้วย ยิ่งกว่านั้น คุณได้เรียนรู้วิธีเปรียบเทียบบุ๊กมาร์กในเอกสาร Word โดยทางโปรแกรม คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Comparison สำหรับ Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

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