porównaj dokumenty Word w Javie

Porównanie dokumentów MS Word odbywa się w celu poznania różnicy między dwiema wersjami dokumentu. MS Word posiada wbudowaną opcję porównywania treści dwóch dokumentów. Jednak wraz ze wzrostem liczby dokumentów ręczne porównywanie dokumentów staje się trudne. Aby zautomatyzować ten proces, w tym artykule opisano sposób porównywania dwóch dokumentów MS Word (DOC/DOCX) przy użyciu języka Java.

Java API do porównywania dokumentów MS Word

Aspose.Words for Java to potężny interfejs API do manipulacji dokumentami, który umożliwia tworzenie, odczytywanie, modyfikowanie i konwertowanie dokumentów MS Word. Ponadto umożliwia porównanie dwóch dokumentów Worda wraz z uwzględnieniem lub pominięciem formatowania treści. Możesz pobrać API lub zainstalować je przy użyciu konfiguracji Mavena.

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

Porównaj dokumenty MS Word przy użyciu języka Java

Poniżej przedstawiono kroki, aby wykonać proste porównanie dokumentów programu Word przy użyciu interfejsu API Aspose.Words for Java.

Poniższy przykładowy kod pokazuje, jak porównać dwa dokumenty MS Word przy użyciu języka 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

Porównanie dokumentów Java Word — Ignoruj formatowanie

Może się zdarzyć, że dokumenty mają różne formatowanie zastosowane do treści. W takich przypadkach wolisz porównywać tylko tekst, ignorując formatowanie, nagłówki/stopki, przypisy, tabele, komentarze itp. Poniżej przedstawiono kroki pozwalające zignorować formatowanie dokumentu podczas porównywania dwóch dokumentów MS Word.

Poniższy przykładowy kod pokazuje, jak porównać dokumenty MS Word, ignorując formatowanie zawartości przy użyciu języka Java.

// Pełne przykłady i pliki danych można znaleźć na stronie 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);

// Dokument DocA zawiera teraz zmiany jako wersje.
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");

Ustaw docelowy dokument programu Word dla różnic porównawczych

Aspose.Words for Java umożliwia również określenie źródłowego dokumentu Word podczas porównania. W tym celu można użyć właściwości CompareOptions.setTarget(), która odnosi się do opcji „Pokaż zmiany w” programu MS Word. Poniższy przykład kodu pokazuje, jak określić dokument docelowy w porównaniu.

Document docA = new Document(dataDir + "TestFile.doc");
Document docB = new Document(dataDir + "TestFile - Copy.doc");

CompareOptions options = new CompareOptions();
options.setIgnoreFormatting(true);
// Dotyczy opcji „Pokaż zmiany w” programu Microsoft Word w oknie dialogowym „Porównaj dokumenty”.
options.setTarget(ComparisonTargetType.NEW);

docA.compare(docB, "user", new Date(), options);

Ustaw szczegółowość, aby porównać pliki Word w Javie

Możesz także ustawić stopień szczegółowości zmian podczas porównywania dwóch dokumentów MS Word. Można to zrobić za pomocą właściwości CompareOptions.setGranularity(). Poniżej przedstawiono możliwe opcje szczegółowości.

Poniższy przykładowy kod pokazuje, jak ustawić szczegółowość podczas porównywania dokumentów MS Word przy użyciu języka 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);

Wniosek

W tym artykule widziałeś, jak porównać dwa dokumenty MS Word w różnych scenariuszach przy użyciu Javy. Więcej informacji na temat Aspose.Words for Java można znaleźć w dokumentacji.

Wypróbuj za darmo

Aspose oferuje tymczasową licencję, abyś mógł bezpłatnie wypróbować swoje interfejsy API. Możesz dostać swój do oceny Aspose.Words for Java.

Zobacz też

Konwertuj DOC/DOCX na JPG w C# .NETKonwertuj DOC/DOCX na JPG w JavieKonwertuj DOC/DOCX na PNG w C# .NET
Konwertuj DOC/DOCX na PNG w JavieKonwertuj DOCX na HTML w C#Konwertuj DOCX na TXT w Python
Scalanie dokumentów MS Word przy użyciu języka JavaTworzenie dokumentów Rich Word w JavieMS Word DOC/DOCX do PDF w Javie
PNG do programu Word w języku C# .NETJPG do programu Word w języku C# .NETObraz do programu Word w języku C#
Word do HTML w C#Word DOCX do Markdown w JavieWyodrębnij obrazy z Word DOC w Javie
Word DOC do Markdown w JavieWord DOC DOCX do Markdown w C#Wyodrębnij tekst z dokumentów programu Word w Javie
Scal dokumenty MS Word przy użyciu C# .NETWord DOC do PNG, JPEG, BMP, GIF lub TIFF w C#Word DOC do formatu PNG, JPEG, BMP, GIF lub TIFF w Javie