GroupDocs.Comparison for Java 26.11 のリリースをご案内できることを嬉しく思います。2026年11月 に利用可能です。見出し機能は OCR ベースの画像比較 です。画像はピクセルではなく、認識されたテキストで比較できるようになりました。スプレッドシート比較は大幅に刷新され、行は内容でマッチングされ、大規模シートの比較が数分から数秒に短縮されました。PDF の結果はソースページからレイアウトされ、GroupDocs.Comparison for .NET と同様になり、テキスト、Word、プレゼンテーション、HTML プレビュー比較に関する多数の修正が含まれています。
このリリースの新機能
| キー | 概要 | カテゴリ |
|---|---|---|
| COMPARISONNET-4925, COMPARISONNET-4934 | 画像はピクセルではなく、認識されたテキスト(OCR)で比較できるようになりました | 機能 |
| COMPARISONJAVA-1798, COMPARISONNET-4940, COMPARISONNET-4945 | スプレッドシートの行は内容でマッチングされます:挿入または削除された行が以降のすべての行を変更としてマークしなくなります | 修正 |
| COMPARISONJAVA-1797, COMPARISONNET-4930 | スプレッドシート比較が数分から数秒に短縮されました;すべての形式でテキスト差分が高速化されました | 修正 |
| COMPARISONJAVA-1796, COMPARISONNET-4946 | XLSX 結果:高さが設定されていない行は内容に合わせてフィットします | 修正 |
| COMPARISONNET-4947 | XLSX 結果:変更されていない数値や日付はテキストに変換されず、型が保持されます | 修正 |
| COMPARISONNET-4944 | StyleSettings.setHighlightColor が変更されたスプレッドシートセルの背景を塗りつぶします |
修正 |
| COMPARISONNET-4927, COMPARISONNET-4928, COMPARISONNET-4923 | テキスト:改行を跨いで移動した単語が削除・再挿入として報告されなくなりました | 修正 |
| COMPARISONNET-4403, COMPARISONNET-4891 | PDF 結果がソースページからレイアウトされます:コンポーネントは元の位置に配置され、セルは自分の端で折り返されます | 更新 |
| COMPARISONNET-4931 | インライン PDF 結果で置換フレーズ全体が表示されます:古い語句の後に新しい語句が続きます | 修正 |
| COMPARISONNET-4896 | インライン PDF 結果で、置換によりわずかに長くなった行が次の行に折り返されなくなります | 修正 |
| COMPARISONNET-4763 | PDF 結果でテーブルの枠線上に黒いグリッドが描画されなくなります | 修正 |
| — | フォーム経由で描画された PDF ページ(スプレッドシートを PDF として保存したものなど)は、変更なしとして扱われなくなります | 修正 |
| — | PDF:スペースだけの行が変更として報告されなくなります | 修正 |
| — | PDF:目次のページ番号が行上に保持されます | 修正 |
| COMPARISONNET-4926 | Word:空になったテーブルの列または行が削除・再挿入されず、その位置に残ります | 修正 |
| COMPARISONNET-4880 | プレゼンテーション:LoadOptions.setSkipExternalResources と setWhitelistedResources が適用されるようになりました |
修正 |
| COMPARISONNET-4935 | HTML プレビュー:同時プレビューが互いのページを上書きしなくなり、要求されたページが正しく返されます | 修正 |
| COMPARISONJAVA-1794, COMPARISONJAVA-1795 | Aspose ライブラリが更新されました | 更新 |
アップグレード前に確認すべき動作変更
- 新しい依存関係。 公開された POM には新たに Aspose.OCR for Java が宣言されています。これは OCR 比較でのみ使用され、ONNX Runtime とネイティブライブラリを含みます。OCR を使用しない場合は除外できます(他の比較は問題なく動作します)。詳細は アップデートの取得方法 を参照してください。
- スプレッドシートの変更。 行が挿入または削除された場合、スプレッドシート比較は異なる(通常ははるかに少ない)変更を報告します。これは行が内容でマッチングされるようになったためです。
- PDF レイアウト。 PDF 結果のレイアウトが変更され、各コンポーネントがソースページ上の元の位置に配置されます。
- 置換の順序。 テキストおよびインライン PDF 結果では、置換された語句が「古い → 新しい」の順に表示されます。
- 評価モード。 評価モードでは PDF の最初の 2 ページのみが比較対象となります(GroupDocs.Comparison for .NET と同様)。
新機能:認識テキスト(OCR)で画像を比較
画像は、Aspose.OCR が読み取ったテキストで比較できるようになりました。スキャン、写真、ドキュメントのスクリーンショットなど、同じテキストでもピクセルが一致しないケースに最適です。微妙なシフトや品質の違いで再スキャンしたページでも、不要な差分が表示されなくなります。
try (Comparer comparer = new Comparer("source.png")) {
comparer.add("target.png");
OcrOptions ocr = new OcrOptions();
ocr.setEnabled(true);
ocr.setDisplayMode(OcrDisplayMode.SIDE_BY_SIDE); // or TEXT
CompareOptions options = new CompareOptions();
options.setOcr(ocr);
comparer.compare("result.png", options);
for (ChangeInfo change : comparer.getChanges()) {
OcrChangeInfo ocrChange = (OcrChangeInfo) change;
System.out.println(change.getText() + ": confidence " + ocrChange.getConfidence()
+ ", " + ocrChange.getSourceBoxes().length + " box(es) on the source");
}
}
制御できる項目:
- 表示モード。
SIDE_BY_SIDE(デフォルト)は変更された単語を枠で囲んで画像を横並びで表示します。TEXTは認識テキストのみを表示し、変更箇所がマークされます。 - 変更の詳細。 各変更は
OcrChangeInfoで、両画像上のボックス(getSourceBoxes()、getTargetBoxes())と認識信頼度(getConfidence())を保持します。TEXTモードではボックスは空です。 - 言語。
setLanguage(OcrLanguage)で言語またはスクリプトを選択します。デフォルトはLATINです。その他の言語は初回使用時にダウンロードされる認識モデルが必要です。setDisableResourceDownloads(true)とsetResourcesPath(String)で、ディスク上に既にあるモデルのみを使用するよう制限できます。
Aspose.OCR for Java はクラスパス上に配置する必要があります。これは公開された POM の依存関係であり、JAR 本体には含まれていません。これが無いと OCR 比較は「欠落したライブラリ」を示すエラーメッセージで失敗します。
スプレッドシート比較
内容でマッチングされた行
従来は、行は相手ブックの同インデックスの行とペアになっていました。行が挿入または削除されると、その後のすべての行が書き換えられたと報告されました。たとえば、6 行のブックで 1 行が削除された場合、91 件の変更が報告されていましたが、現在は 8 件に減ります(削除された行の 6 セルがその場でマークされ、サマリーシートに行数が表示されます)。
行と列は、セルの内容に基づいて整列されます。両ファイルで同一の行は直接ペアになり、その間にあるものだけが整列されます。この方式により、報告される変更数は従来のバージョンとは異なります。
分数ではなく秒
同一ファイルでも比較に数分かかっていました。たとえば 200×20 のシート 2 枚で 2.5 分かかっていましたが、現在は 1 秒未満(JVM 起動後の最初の比較は数秒)です。400×20 のシートで 1 行削除された場合でも約 7 秒で完了します。
各比較の背後にある単語差分ロジックが再設計され、結果は変わらず、はるかに高速化されました。これにより Word、PDF、テキスト比較も恩恵を受けます。同一の行・列はスコア付けされずにペアリングされるため、完全に同一のシートは全く整列されません。
行の高さ、数値型、ハイライト色
- 高さが設定されていない行は結果で内容に合わせて自動的にフィットするため、折り返しや大きなフォントのセルが切り取られなくなります。明示的に高さが設定された行はそのまま保持されます。
- 変更されていない数値や日付はテキストに変換されず、元の型が保持されます。数式セルは計算結果で書き出されます。
StyleSettings.setHighlightColorが変更されたセルの背景を塗りつぶすようになりました:
StyleSettings deleted = new StyleSettings();
deleted.setHighlightColor(Color.PINK);
CompareOptions options = new CompareOptions();
options.setDeletedItemStyle(deleted);
PDF 結果
ソースページからのレイアウト
PDF エンジンは GroupDocs.Comparison for .NET と同様に結果をレイアウトします。
- 結果のすべてのコンポーネントはソースページ上の元の位置に配置されます。画像は自身の座標に配置され、ページのベクターグラフィックも引き継がれます。
- テーブルはグリッドを描画し、各セルのテキストはセルの端で折り返されます(結合セルも含む)。
- 行はベースライン間の距離で段落にグループ化され、ページ余白はページ自体から取得されます。
- 両文書で同一のページは文書内の任意の位置に存在でき、再比較されません。
結果は従来のバージョンとは見た目が異なります。削除されたコンテンツはソースページ上の元の位置に描画され、ターゲット側に別のコンテンツがある場合は重なります。
小さな修正
- 置換フレーズ。 複数語の置換がペアごとに描画されていたため、たとえば “Richard McClintock” が “Vasily Pupkin” に変わると “Vasily Richard Pupkin McClintock” と読まれていました。インライン結果は現在、古いフレーズの後に新しいフレーズが表示されます。
- わずかに長くなった行。 インライン結果で、置換により 1 語長くなった行が最後の語を次の行に折り返すことがなくなりました。
- テーブルのグリッド。 色検出できなかったテーブル枠が、ソース側の枠線上に黒く塗られることがなくなりました。
- フォーム経由で描画されたページ。 スプレッドシートを PDF として保存したように、すべてをフォームで描画するページは変更なしと見なされていましたが、現在はフォーム自体も比較対象となり、変更が報告されます。
- 空白行。 スペースだけの行は変更として報告されなくなりました。
- 目次。 変更された目次行のページ番号はその行上に保持されます。
その他の修正
改行を跨ぐテキスト
テキストファイルの行を長くしたり短くしたりすると、単語が改行を跨いで移動します。行単位で比較すると、これらの単語は「削除された」行から「挿入された」行へと報告されていました。現在は行を結合して比較し、変更数を減らします。置換は「古い → 新しい」の順で報告され、HTML ビューでもテキスト結果と同様に受諾・却下の変更が適用されます。複数ターゲットとの比較は引き続き行単位で行われます。
Word:空になったテーブル列または行
テーブルの列や行が空になると、削除されたとみなされて空の列・行が再挿入され、以降のセルがシフトしていました。現在は位置が保持され、内容は削除として報告されます。
プレゼンテーション:外部リソース
LoadOptions.setSkipExternalResources と setWhitelistedResources は 26.10 で追加されましたが、プレゼンテーションでは効果がありませんでした。現在は Word や HTML と同様にプレゼンテーションにも適用され、結果のプレゼンテーションは外部リソースを取得しません。読み込めなかった画像は空の画像として比較されます。
HTML プレビュー
HTML ドキュメントのプレビューページは固定ファイル名で一時ディレクトリに保存されていたため、同時に 2 つのプレビューを行うと互いのページが上書きされ、要求されたページ番号が無視されていました。現在はメモリ上でレンダリングされ、要求されたページだけが返され、背景は透明ではなく白で描画されます。
Aspose ライブラリ更新
| ライブラリ | 以前 | 現在 |
|---|---|---|
| Aspose.BarCode | 25.5 | 26.6 |
| Aspose.CAD | 24.6.1 | 26.8 |
| Aspose.Cells | 26.3 | 26.9 |
| Aspose.Diagram | 25.7 | 26.9 |
| Aspose.Email | 26.1 | 26.8 |
| Aspose.PDF | 26.2 | 26.8.1 |
| Aspose.PSD | 25.10 | 26.8 |
| Aspose.Slides | 26.2 | 26.9 |
| Aspose.Words | 26.3 | 26.8 |
ライブラリは従来通り JAR に同梱されています。新たに Aspose.OCR 26.10.0 が追加され、POM の依存関係として提供されます。
アップデートの取得方法
Maven
pom.xml に GroupDocs リポジトリと依存関係を追加します。
<repositories>
<repository>
<id>groupdocs-artifacts-repository</id>
<name>GroupDocs Artifacts Repository</name>
<url>https://releases.groupdocs.com/java/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-comparison</artifactId>
<version>26.11</version>
</dependency>
</dependencies>
OCR 比較を使用しない場合は Aspose.OCR とそのネイティブライブラリを除外できます。
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-comparison</artifactId>
<version>26.11</version>
<exclusions>
<exclusion>
<groupId>com.aspose</groupId>
<artifactId>aspose-ocr</artifactId>
</exclusion>
</exclusions>
</dependency>
直接ダウンロード
GroupDocs.Comparison for Java 26.11 ダウンロードページ から JAR を取得してください。