ทำการเปรียบเทียบเอกสาร MS Word เพื่อทราบความแตกต่างระหว่างเอกสารสองเวอร์ชัน MS Word มีตัวเลือกในตัวเพื่อเปรียบเทียบเนื้อหาของเอกสารสองฉบับ อย่างไรก็ตาม ด้วยจำนวนเอกสารที่เพิ่มขึ้น การเปรียบเทียบเอกสารด้วยตนเองจึงเป็นเรื่องยาก เพื่อให้กระบวนการนี้เป็นไปโดยอัตโนมัติ บทความนี้ครอบคลุมวิธีการเปรียบเทียบเอกสาร MS Word (DOC/DOCX) สองฉบับโดยใช้ Java
- API การเปรียบเทียบเอกสาร MS Word สำหรับ Java
- เปรียบเทียบเอกสาร MS Word โดยใช้ Java
- ละเว้นการจัดรูปแบบในการเปรียบเทียบเอกสาร MS Word
- กำหนดเอกสารเป้าหมายสำหรับการเปรียบเทียบความแตกต่าง
- ตั้งค่าความละเอียดเพื่อเปรียบเทียบเอกสาร MS Word
Java API เพื่อเปรียบเทียบเอกสาร MS Word
Aspose.Words for Java คือ API การจัดการเอกสารที่มีประสิทธิภาพซึ่งช่วยให้คุณสร้าง อ่าน แก้ไข และแปลงเอกสาร MS Word นอกจากนี้ยังช่วยให้คุณสามารถเปรียบเทียบเอกสาร Word สองฉบับพร้อมกับการพิจารณาหรือละเว้นการจัดรูปแบบของเนื้อหา คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.9</version>
<classifier>jdk17</classifier>
</dependency>
เปรียบเทียบเอกสาร MS Word โดยใช้ Java
ต่อไปนี้เป็นขั้นตอนในการเปรียบเทียบเอกสาร Word อย่างง่ายโดยใช้ Aspose.Words for Java API
- โหลดเอกสารที่จะเปรียบเทียบโดยใช้คลาส Document
- เรียกใช้เมธอด Document.compare(Document, String, Date) เพื่อเปรียบเทียบเอกสารกับเอกสารที่ผ่านเป็นอาร์กิวเมนต์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเปรียบเทียบเอกสาร MS Word สองฉบับโดยใช้ Java
Document docA = new Document(dataDir + "DocumentA.doc");
Document docB = new Document(dataDir + "DocumentB.doc");
docA.compare(docB, "user", new Date()); // docA now contains changes as revisions
การเปรียบเทียบเอกสาร Java Word - ละเว้นการจัดรูปแบบ
อาจมีบางกรณีที่เอกสารมีการจัดรูปแบบที่แตกต่างกันกับเนื้อหา ในกรณีเช่นนี้ คุณต้องการเปรียบเทียบข้อความเท่านั้นโดยไม่สนใจการจัดรูปแบบ ส่วนหัว/ส่วนท้าย เชิงอรรถ ตาราง ข้อคิดเห็น ฯลฯ ต่อไปนี้เป็นขั้นตอนในการละเว้นการจัดรูปแบบของเอกสารเมื่อเปรียบเทียบเอกสาร MS Word สองฉบับ
- โหลดเอกสารที่จะเปรียบเทียบโดยใช้คลาส Document
- สร้างวัตถุของคลาส CompareOptions
- ตั้งค่า CompareOptions.setIgnoreFormatting(จริง)
- เปรียบเทียบเอกสารโดยใช้เมธอด Document.compare(Document, String, Date, CompareOptions)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเปรียบเทียบเอกสาร MS Word โดยไม่สนใจการจัดรูปแบบของเนื้อหาโดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-words/Aspose.Words-for-Java
String dataDir = Utils.getDataDir(CompareTwoWordDocumentswithCompareOptions.class);
com.aspose.words.Document docA = new com.aspose.words.Document(dataDir + "DocumentA.doc");
com.aspose.words.Document docB = new com.aspose.words.Document(dataDir + "DocumentB.doc");
com.aspose.words.CompareOptions options = new com.aspose.words.CompareOptions();
options.setIgnoreFormatting(true);
options.setIgnoreHeadersAndFooters(true);
options.setIgnoreCaseChanges(true);
options.setIgnoreTables(true);
options.setIgnoreFields(true);
options.setIgnoreComments(true);
options.setIgnoreTextboxes(true);
options.setIgnoreFootnotes(true);
// ขณะนี้ DocA มีการเปลี่ยนแปลงเป็นการแก้ไข
docA.compare(docB, "user", new Date(), options);
if (docA.getRevisions().getCount() == 0)
System.out.println("Documents are equal");
else
System.out.println("Documents are not equal");
กำหนดเอกสาร Word เป้าหมายสำหรับการเปรียบเทียบความแตกต่าง
Aspose.Words for Java ยังอนุญาตให้คุณระบุเอกสาร Word ต้นทางระหว่างการเปรียบเทียบ สำหรับสิ่งนี้ คุณสามารถใช้คุณสมบัติ CompareOptions.setTarget() ซึ่งเกี่ยวข้องกับตัวเลือก “แสดงการเปลี่ยนแปลงใน” ของ MS Word ตัวอย่างรหัสต่อไปนี้แสดงวิธีการระบุเอกสารเป้าหมายในการเปรียบเทียบ
Document docA = new Document(dataDir + "TestFile.doc");
Document docB = new Document(dataDir + "TestFile - Copy.doc");
CompareOptions options = new CompareOptions();
options.setIgnoreFormatting(true);
// เกี่ยวข้องกับตัวเลือก "แสดงการเปลี่ยนแปลงใน" ของ Microsoft Word ในกล่องโต้ตอบ "เปรียบเทียบเอกสาร"
options.setTarget(ComparisonTargetType.NEW);
docA.compare(docB, "user", new Date(), options);
ตั้งค่า Granularity เพื่อเปรียบเทียบไฟล์ Word ใน Java
คุณยังสามารถตั้งค่าความละเอียดของการเปลี่ยนแปลงเมื่อเปรียบเทียบเอกสาร MS Word สองฉบับ สามารถทำได้โดยใช้คุณสมบัติ CompareOptions.setGranularity() ต่อไปนี้คือตัวเลือกความละเอียดที่เป็นไปได้
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าความละเอียดเมื่อเปรียบเทียบเอกสาร MS Word โดยใช้ Java
DocumentBuilder builderA = new DocumentBuilder(new Document());
DocumentBuilder builderB = new DocumentBuilder(new Document());
builderA.writeln("This is A simple word");
builderB.writeln("This is B simple words");
CompareOptions co = new CompareOptions();
co.setGranularity(Granularity.CHAR_LEVEL);
builderA.getDocument().compare(builderB.getDocument(), "author", new Date(), co);
บทสรุป
ในบทความนี้ คุณได้เห็นวิธีการเปรียบเทียบเอกสาร MS Word สองชุดในสถานการณ์ต่างๆ โดยใช้ Java คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.Words for Java โดยใช้ เอกสารประกอบ
ลองฟรี
Aspose เสนอ ใบอนุญาตชั่วคราว ให้คุณลองใช้ API ได้ฟรี คุณสามารถประเมิน Aspose.Words for Java ได้