私たちは、GroupDocs.Comparison for .NET 26.5 のリリースを 2026年5月 に開始したことをお知らせできることを嬉しく思います。
GroupDocs.Comparison バージョン 26.5 は、PDF の描画精度の向上、CSV およびスプレッドシート比較の可読性改善、リビジョン処理とスプレッドシート変更メタデータ向けの新しい API 機能、そしてマルチフレームワーク対応の更新された NuGet パッケージングモデルを提供します。
修正と機能強化
- [Feature] マルチフレームワーク NuGet パッケージングと TFM 分割パッケージ。(COMPARISONNET-4770)
- [Enhancement] PDF 比較: インラインモードでの段落描画精度を向上。(COMPARISONNET-4751)
- [Enhancement] テーブルを含む PDF 文書の比較結果を強化。(COMPARISONNET-4763)
- [Bug] スタイル付きテーブルを含む PDF の比較時に発生する ArgumentOutOfRangeException を修正。(COMPARISONNET-4762)
- [Feature] RevisionHandler で渡されたストリームのオプション破棄をサポート。(COMPARISONNET-4773)
- [Enhancement] テキストマーカーを使用した CSV 比較結果の可読性を向上。(COMPARISONNET-4769)
- [Feature] ChangeInfo にスプレッドシートプロパティを拡張。(COMPARISONNET-4767)
- [Bug] HTML 出力時に Compare メソッドが例外をスローする問題を修正。(COMPARISONNET-4764)
主な機能
マルチフレームワーク NuGet パッケージングと TFM 分割パッケージ
GroupDocs.Comparison は、より高度な NuGet パッケージ配信モデルへ移行しました。メインパッケージは現在 net462;net6.0;net8.0;net10.0 を対象とし、従来の net462;netstandard2.1 対象を置き換えました。
さらに、ダウンロードサイズを削減するため、プラットフォーム別の NuGet パッケージがメインパッケージと共に公開されます。プラットフォーム固有のパッケージをインストールすると、ユーザーのターゲットフレームワークに一致するバイナリのみがダウンロードされ、未使用のプラットフォームアセンブリは含まれません。
| Package | Target framework |
|---|---|
GroupDocs.Comparison |
net462;net6.0;net8.0;net10.0 (すべてのフレームワーク) |
GroupDocs.Comparison.net462 |
.NET Framework 4.6.2 |
GroupDocs.Comparison.net6 |
.NET 6.0 |
GroupDocs.Comparison.net8 |
.NET 8.0 |
GroupDocs.Comparison.net10 |
.NET 10.0 |
Note: .NET Standard 2.1 は専用ターゲットとしてはもうサポートされません。以前
netstandard2.1に依存していたプロジェクトは、上記のサポート対象 TFM のいずれかへ移行してください。
RevisionHandler で渡されたストリームのオプション破棄をサポート
RevisionHandler は leaveOpen パラメーターを受け取るようになり、ハンドラが破棄される際に基になるストリームを破棄するかどうかを制御できます。leaveOpen を true に設定すると、RevisionHandler が破棄された後もストリームは開いたままになり、呼び出し元が引き続き使用できます。これは、ストリームのライフサイクルが外部で管理されているシナリオで便利です。
using FileStream revisionFileStream = new FileStream("source.docx", FileMode.Open, FileAccess.ReadWrite);
using (RevisionHandler revisionHandler = new RevisionHandler(revisionFileStream, leaveOpen: true))
{
List<RevisionInfo> revisionList = revisionHandler.GetRevisions();
foreach (var rev in revisionList)
{
if (rev.Type == RevisionType.Deletion)
rev.Action = RevisionAction.Accept;
}
ApplyRevisionOptions revisionChanges = new ApplyRevisionOptions { Changes = revisionList };
revisionHandler.ApplyRevisionChanges(resultPath, revisionChanges);
}
ChangeInfo にスプレッドシートプロパティを拡張
ChangeInfo に 3 つの新プロパティが追加され、検出された変更ごとにスプレッドシート固有のメタデータを取得できるようになりました。これらのプロパティは Excel (.xlsx) および CSV (.csv) ファイルの比較時に設定され、スプレッドシートのグリッド内で各変更の正確な位置を特定できます。
Row– 変更されたセルの 0 ベース行インデックス。Column– 変更されたセルの 0 ベース列インデックス。ColumnHeader– 変更されたセルが属する列のヘッダー文字列(利用可能な場合)。
以下の例は、2 つの CSV ファイルを比較し、変更リスト(新しいスプレッドシートプロパティを含む)を JSON にシリアライズする方法を示しています。
string source = "source.csv";
string target = "target.csv";
string outFilePathJson = "result.json";
using (var comparer = new Comparer(source))
{
comparer.Add(target);
var doc = comparer.Compare();
var changes = doc.Changes;
var json = changes.Select(c => new
{
id = c.Id,
type = c.Type.ToString(),
componentType = c.ComponentType,
row = c.Row,
column = c.Column,
columnHeader = c.ColumnHeader,
sourceText = c.SourceText,
targetText = c.TargetText,
text = c.Text
});
File.WriteAllText(outFilePathJson,
JsonSerializer.Serialize(json, new JsonSerializerOptions { WriteIndented = true }));
}
強化点
テキストマーカーを使用した CSV 比較結果の可読性向上
CSV 比較出力は、インラインテキストマーカーを使用して、挿入および削除されたコンテンツをサイドバイサイド表示なしで即座に視認できるようになりました。
- 挿入 テキストは丸括弧で囲まれます — 例:
(new value) - 削除 テキストは角括弧で囲まれます — 例:
[old value]
アップデートの取得方法
最新バージョンは NuGet から取得するか、GroupDocs のウェブサイト から直接ダウンロードできます。
NuGet
GroupDocs.Comparison for .NET 26.5
直接ダウンロード
GroupDocs.Comparison for .NET 26.5 ページから、.NET と .NET Framework 用のアセンブリをダウンロードしてください。