לאחר שנעבור על מאמר זה, נוכל להשוות קבצי טקסט, קובצי Word, קבצי PDF ומסמכים אחרים ביישומים מבוססי Java. על ידי שימוש בתכונה זו, אנו יכולים להשוות חשבוניות, חוזים, מצגות, עיצובי AutoCAD, מחירונים או קבצי תכנות. כמו כן, נזכה להדגיש את השינויים שזוהו ולאפשר לנו לקבל או לדחות כל שינוי. אנחנו יכולים אפילו לבנות [כלי השוואת מסמכים] משלנו 2 בדומה לזה שהושק על ידי GroupDocs, באמצעות ממשק API להשוואת מסמכים עבור Java.
להלן תעבור על הנושאים הבאים:
- השווה קובצי Word והצג הבדלים.
- השווה קבצי Word באמצעות זרמים.
- קבל או דחה את השינויים שזוהו בקובץ Word.
- השווה קבצי טקסט והדגש הבדלים.
- השווה קבצי PDF באמצעות Java.
API להשוואת מסמכים של Java
כתנאי מוקדם, אתה עשוי לקבל את GroupDocs.Comparison for Java מהסעיף הורדות. כמו כן, אתה יכול פשוט להוסיף את הדברים הבאים ב-pom.xml שלך במקרה של יישומים מבוססי 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>20.4</version>
</dependency>
השווה קבצי Word והצג הבדלים באמצעות Java
השלבים שלהלן יראו לך להשוות בין שני מסמכי Word בכמה שורות בלבד של קוד Java. כתוצאה מכך, תקבל את המסמך שנוצר שידגיש את השינויים שזוהו.
- אתחול האובייקט Comparer עם נתיב מסמך המקור.
- הוסף את המסמך השני להשוואה בשיטת add.
- התקשר לשיטת השוואה כדי לקבל את תוצאת ההשוואה. שיטת ההשוואה לוקחת את השם של מסמך הפלט כפרמטר.
// Compare two Word files from the provided location on disk
Comparer comparer = new Comparer("source.docx");
try {
comparer.add("target.docx");
comparer.compare("comparison.docx");
}
finally {
comparer.dispose();
}
כאן אני מציג את מסמך ה-Word שנוצר על ידי הקוד לעיל, והוא מכיל את ההבדלים המודגשים של שני מסמכי ה-Word בהשוואה. התוכן שנמחק יסומן באדום, תוכן נוסף יוצג בכחול, עם זאת, ירוק מציג את התוכן שהשתנה.
השווה קבצי Word עבור טקסט באמצעות Stream
אתה יכול באופן דומה להעביר את המסמך כזרם למחלקת Comparer כדי להשוות אותו למסמך השני. הנה קוד Java כדי לתת לך מושג ברור:
// Compare two Word file using Stream
Comparer comparer = new Comparer(new FileInputStream("source.docx"));
try {
comparer.add(new FileInputStream("target.docx"));
comparer.compare(new FileOutputStream("result.docx"));
}
finally {
comparer.dispose();
}
קבל או דחה את השינויים שהשוו בקובץ Word באמצעות Java
לאחר הדגשת ההבדלים שזוהו בהצלחה, יש לך אפשרות לקבל או לדחות כל שינוי. רק כדי להראות כדוגמה, אני מקבל ודוחה את השינויים לחילופין. אתה יכול להציג כל שינוי אחד אחד עם הקוד הדומה ולקבל את ההחלטות שלך לקבל/לדחות כל שינוי בהתאם לדרישתך.
// Accept or Reject the identified changes of Word document in Java
Comparer comparer = new Comparer(source);
try {
comparer.add(target);
comparer.compare();
ChangeInfo[] changes = comparer.getChanges();
System.out.println("changes.length: " + changes.length + ".");
// Accept or Reject the changes
for (int n = 0; n < changes.length; n++) {
if (n % 2 == 0) {
changes[n].setComparisonAction(ComparisonAction.ACCEPT);
}
else {
changes[n].setComparisonAction(ComparisonAction.REJECT);
}
}
// Apply your decisions to get the resultant document.
comparer.applyChanges(outputFileName, new SaveOptions(), new ApplyChangeOptions(changes));
}
finally {
comparer.dispose();
}
השווה קבצי טקסט והצג הבדלים באמצעות Java
באמצעות המחלקה Comparer, נוכל גם להשוות כל קובץ טקסט. להלן הקוד הדומה להשוואת שני קבצי טקסט ב-Java. השלבים זהים לחלוטין להשוואת כל שני מסמכים אחרים:
// Compare two text files to identify and highlight changes.
Comparer comparer = new Comparer("source.txt");
try {
comparer.add("target.txt");
comparer.compare("comparison.txt");
}
finally {
comparer.dispose();
}
להלן מסמך הפלט המציג את תוצאת ההשוואה של התאמת שני קבצי טקסט באמצעות הקוד לעיל.
השווה קבצי PDF עבור הבדל טקסט באמצעות Java
אנו יכולים להשוות את קבצי ה-PDF באמצעות אותו קוד לעיל, ועל ידי שינוי סיומות הקובץ ל-".pdf". רק להזכיר, הקוד שלהלן משווה שני קבצי pdf ומראה הבדלים ב-Java.
// Compare two PDF file using Stream
Comparer comparer = new Comparer(new FileInputStream("source.pdf"));
comparer.add(new FileInputStream("target.pdf"));
comparer.compare(new FileOutputStream("result.pdf"));
להלן התוצאה לאחר השוואת קבצי ה-PDF.
ראה גם
דוגמאות רבות אחרות של קוד פתוח זמינות לציבור ב-GitHub Repository. אתה יכול להוריד ולהפעיל במהירות את הדוגמאות באמצעות המדריך תחילת העבודה. בכל שאלה, עיין בתיעוד או פנה אלינו בכל עת בפורום.