порівняти документи 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 за допомогою API Aspose.Words for Java.

  • Завантажте документи для порівняння за допомогою класу Document.
  • Викличте метод 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.

У наступному прикладі коду показано, як порівняти документи 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 Comparison

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);

Порівняйте файли 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 Difference Checker — безкоштовна ліцензія

Aspose пропонує безкоштовну тимчасову ліцензію для порівняння документів Word без будь-яких обмежень оцінки.

Докладніше про бібліотеку Java Word

Ви можете дізнатися більше про Aspose.Words for 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