השוואה בין מסמכי word ב-Java

אתה יכול להשוות מסמכי MS Word כדי לדעת על ההבדל בין שתי הגרסאות של מסמך. MS Word מספקת אפשרות מובנית להשוות בין התוכן של שני מסמכים ולהדגיש את ההבדלים. במהלך העבודה עם אוטומציה של MS Word ב-Java, ייתכן שיהיה עליך להשוות שני מסמכי Word או יותר באופן תכנותי. לכן, מאמר זה מכסה כיצד להשוות שני מסמכי Word ב-Java. כמו כן, נדגים כיצד להתעלם מהעיצוב של המסמכים ולקבל הבדלי השוואה במסמך Word ספציפי.

ספריית Java להשוואה בין שני מסמכי Word

Aspose.Words for Java היא ספריית מניפולציה רבת עוצמה של מסמכים המאפשרת לך ליצור, לקרוא, לשנות ולהמיר מסמכי MS Word. בנוסף, זה מאפשר לך להשוות בין שני מסמכי Word יחד עם התחשבות או התעלמות מהעיצוב של התוכן. אתה יכול להוריד את הספרייה או להתקין אותה באמצעות תצורות 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>22.9</version>
    <classifier>jdk17</classifier>
</dependency>

כיצד להשוות שני מסמכי Word ב-Java

להלן השלבים לביצוע השוואה פשוטה של מסמכי Word באמצעות Aspose.Words עבור Java API.

קוד Java להשוואת מסמכי Word

דוגמת הקוד הבאה מראה כיצד להשוות שני מסמכי 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 DOCX על ידי התעלמות מעיצוב

יכול להיות מקרה שבו למסמכים יש עיצוב שונה על התוכן. במקרים כאלה, תעדיפו להשוות את הטקסט רק תוך התעלמות מהעיצוב, כותרות עליונות/תחתונות, הערות שוליים, טבלאות, הערות וכו’. להלן השלבים להתעלמות מהעיצוב של המסמך בעת השוואת שני קבצי MS Word DOC ב-Java.

דוגמת הקוד הבאה מראה כיצד להשוות מסמכי 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");

הגדר מסמך יעד בהשוואת MS Word

Aspose.Words עבור 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);

השווה קובצי Word עם גרנולריות מותאמת אישית

אתה יכול גם להגדיר את הפירוט של שינויים בעת השוואה בין שני מסמכי 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);

ספריית בודק הבדלים של Java - רישיון חינם

Aspose מציעה לך [רישיון זמני] בחינם12 להשוואה בין מסמכי Word ללא כל מגבלות הערכה.

קרא עוד על ספריית Word של Java

אתה יכול לחקור יותר על Aspose.Words עבור Java באמצעות תיעוד.

סיכום

במאמר זה, ראית כיצד להשוות שני מסמכי Word ב-Java. כיסינו אפשרויות שונות להתאמה אישית של השוואת מסמכי Word באופן תוכנתי ב-Java.

ראה גם

המר DOC/DOCX ל-JPG ב-C# .NETהמר DOC/DOCX ל-JPG ב-Javaהמר DOC/DOCX ל-PNG ב-C# .NET
המר DOC/DOCX ל-PNG ב-Javaהמר DOCX ל-HTML ב-C#המר DOCX ל-TXT ב-Python
מזג מסמכי MS Word באמצעות Javaצור מסמכי Word עשירים ב-JavaMS Word DOC/DOCX ל-PDF ב-Java
PNG ל-Word ב-C# .NETJPG ל-Word ב-C# .NETתמונה ל-Word ב-C#
מילה ל-HTML ב-C#Word DOCX ל-Markdown ב-Javaחלץ תמונות מ-Word DOC ב-Java
Word DOC ל-Markdown ב-JavaWord DOC DOCX ל-Markdown ב-C#חלץ טקסט ממסמכי Word ב-Java
מזג מסמכי MS Word באמצעות C# .NETWord DOC ל-PNG, JPEG, BMP, GIF או TIFF ב-C#Word DOC ל-PNG, JPEG, BMP, GIF או TIFF ב-Java