GroupDocs.Comparison API を使用して Java でドキュメント比較をマスターする

導入

手動でドキュメントを比較するのにうんざりしていませんか?ヘッダー、フッター、コンテンツの変更点を特定するなど、ドキュメントの比較は大変な作業になりがちです。GroupDocs.Comparison for Javaライブラリは、このプロセスを自動化し、正確かつ簡単に強化します。

この包括的なチュートリアルでは、JavaでGroupDocs.Comparisonを活用して、ドキュメント比較スタイルのカスタマイズ、感度設定の調整、ヘッダー/フッターの比較の無視、出力用紙サイズの設定などを行う方法を解説します。このガイドを読み終える頃には、ワークフローを効率的に合理化できるようになるでしょう。

学習内容:

  • ドキュメントの比較中にヘッダーとフッターを無視します。
  • スタイル調整で変更をカスタマイズします。
  • 詳細な分析のために比較感度を調整します。
  • Java アプリケーションで出力用紙サイズを設定します。
  • これらの機能を実際のシナリオに実装します。

実践的な側面に進む前に、必要な前提条件が満たされていることを確認してください。

前提条件

GroupDocs.Comparison for Java を使い始めるには、次のものを用意してください。

  1. Java 開発キット (JDK): お使いのマシンにJDKがインストールされていることを確認してください。バージョン8以上であれば問題ありません。
  2. メイヴン: このチュートリアルでは、Maven を使用してプロジェクトの依存関係を管理することを前提としています。
  3. GroupDocs.Comparison ライブラリ:
    • 次の依存関係を pom.xml
<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/comparison/java/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>25.2</version>
    </dependency>
</dependencies>
  1. ライセンス: GroupDocs から無料トライアル、一時ライセンスを取得するか、フル バージョンを購入してください。

これらを設定すると、Java アプリケーションにドキュメント比較機能を実装する準備が整います。

Java 用の GroupDocs.Comparison の設定

環境が正しく構成されていることを確認します。

Maven経由のインストール

上記のXMLスニペットをプロジェクトの pom.xmlこの手順により、必要なリポジトリと依存関係が Maven によって認識されるようになります。

ライセンス取得

GroupDocs のドキュメントに従ってライセンス ファイルを取得して設定した後、次のように GroupDocs.Comparison を初期化します。

// 基本的な初期化の例
com.groupdocs.comparison.License license = new com.groupdocs.comparison.License();
license.setLicense("path/to/your/license/file.lic");

実装ガイド

機能1: ヘッダー/フッターの比較を無視

概要: ヘッダーとフッターにはページ番号やドキュメントのタイトルなどの情報が含まれることがよくありますが、これらはコンテンツの変更の比較には関係ない可能性があります。

オプションの設定

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import java.io.FileOutputStream;

public class IgnoreHeaderFooterExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/IgnoreHeaderFooter_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_with_footer.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target_with_footer.docx");

            // 比較オプションを設定してヘッダーとフッターを無視する
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setHeaderFootersComparison(false)
                    .build();

            final Path resultPath = comparer.compare(resultStream, new SaveOptions(), compareOptions);
        }
    }
}

説明

  • **CompareOptions.Builder().setHeaderFootersComparison(false)**この設定は、ライブラリにヘッダーとフッターの比較をスキップするように指示します。
  • try-with-resources 使用後にすべてのストリームが適切に閉じられていることを確認します。

機能2: 出力用紙サイズの設定

概要: 印刷に適したドキュメントを作成するには、出力用紙サイズのカスタマイズが不可欠です。ドキュメント比較時に用紙サイズを調整する方法は次のとおりです。

実装手順

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.enums.PaperSize;

public class SetOutputPaperSizeExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/SetOutputPaperSize_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");

            // 用紙サイズをA6に設定する
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setPaperSize(PaperSize.A6)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

説明

  • CompareOptions.Builder().setPaperSize(PaperSize.A6):出力用紙サイズをA6に設定します。

機能3: 比較感度の調整

概要: 比較感度を微調整すると、小さな変化も識別しやすくなります。調整方法は次のとおりです。

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;

public class AdjustComparisonSensitivityExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/AdjustComparisonSensitivity_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");

            // 感度を100に設定する
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setSensitivityOfComparison(100)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

説明

  • **CompareOptions.Builder().setSensitivityOfComparison(100)**変化を検出する感度レベルを調整します。

機能4: 変更スタイルのカスタマイズ(ストリームの使用)

概要: 挿入、削除、変更されたテキストを区別することで、比較がより直感的になります。ストリームを使用してスタイルをカスタマイズする方法は次のとおりです。

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.save.SaveOptions;
import com.groupdocs.comparison.options.style.StyleSettings;

import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class CustomizeChangesStylesStreamExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/CustomizeChangesStylesStream_result.docx";

        try (InputStream sourceFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/source_word.docx");
             InputStream targetFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");
             OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer(sourceFile)) {

            comparer.add(targetFile);

            // 変更スタイルをカスタマイズする
            StyleSettings insertedStyle = new StyleSettings();
            insertedStyle.setHighlightColor(Color.GREEN); // 挿入は緑
            StyleSettings deletedStyle = new StyleSettings();
            deletedStyle.setHighlightColor(Color.RED); // 削除は赤
            StyleSettings changedStyle = new StyleSettings();
            changedStyle.setHighlightColor(Color.BLUE); // 変更の場合は青

            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setInsertedItemStyle(insertedStyle)
                    .setDeletedItemStyle(deletedStyle)
                    .setChangedItemStyle(changedStyle)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

説明

  • カスタムスタイル設定: 使用 StyleSettings 挿入 (緑)、削除 (赤)、変更 (青) のハイライト色を定義します。
  • CompareOptions.Builder() 比較プロセス中にこれらのスタイルを適用します。

結論

GroupDocs.Comparison for Javaを活用することで、ドキュメント比較を高精度に自動化できます。このチュートリアルでは、ヘッダー/フッターの無視、出力用紙サイズの設定、感度調整、変更スタイルのカスタマイズ方法について説明しました。これらの機能を実装することで、ワークフローが効率化され、Javaアプリケーションにおけるドキュメント分析の精度が向上します。

よくある質問

1. GroupDocs for Java で比較するときに、ヘッダーとフッターを無視できますか?

はい、使います setHeaderFootersComparison(false)CompareOptions ヘッダーとフッターを比較から除外します。

2. GroupDocs を使用して Java で出力用紙サイズを設定するにはどうすればよいでしょうか?

適用する setPaperSize(PaperSize.A6) または他のサイズ CompareOptions 最終文書の用紙サイズをカスタマイズします。

3. 比較感度を微調整することは可能ですか?

はい、使います setSensitivityOfComparison()CompareOptions 感度を調整し、それに応じて小さな変化または大きな変化を検出します。

4. 比較中に挿入、削除、変更されたテキストにスタイルを設定できますか?

もちろん、スタイルをカスタマイズするには StyleSettings さまざまな変更タイプを分類し、適用する CompareOptions

5. Java で GroupDocs Comparison を開始するための前提条件は何ですか?

JDK をインストールし、Maven を使用して依存関係を管理し、ライセンスを取得し、GroupDocs.Comparison ライブラリをプロジェクトに追加します。