אתה יכול להשוות מסמכי MS Word כדי לדעת על ההבדל בין שתי הגרסאות של מסמך. MS Word מספקת אפשרות מובנית להשוות בין התוכן של שני מסמכים ולהדגיש את ההבדלים. במהלך העבודה עם אוטומציה של MS Word ב-Java, ייתכן שיהיה עליך להשוות שני מסמכי Word או יותר באופן תכנותי. לכן, מאמר זה מכסה כיצד להשוות שני מסמכי Word ב-Java. כמו כן, נדגים כיצד להתעלם מהעיצוב של המסמכים ולקבל הבדלי השוואה במסמך Word ספציפי.
- ספריית Java להשוואת מסמכי Word
- השווה בין מסמכי MS Word באמצעות Java
- התעלם מעיצוב בהשוואת מסמכי MS Word
- הגדר מסמך יעד עבור הבדלי השוואה
- הגדר את גרעיניות כדי להשוות מסמכי MS 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.
- טען את המסמכים שיש להשוות באמצעות המחלקה מסמך.
- התקשר לשיטת Document.compare(Document, String, Date) כדי להשוות את המסמך לזה שהועבר כארגומנט.
קוד 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.
- טען את המסמכים שיש להשוות באמצעות המחלקה Document.
- צור אובייקט במחלקה CompareOptions.
- הגדר CompareOptions.setIgnoreFormatting(true).
- השווה את המסמכים באמצעות שיטת 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");
הגדר מסמך יעד בהשוואת 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.