GroupDocs.Comparison for Python 26.5.0 が利用可能になりました。このライブラリの最初の public‑PyPI リリースは 25.12 以来で、純粋な Python ラッパー、AI アシスタント検出用にバンドルされた AGENTS.md、新しいコンソールスクリプト、そして大幅なドキュメント再構築が導入されています。
このリリースの新機能
| キー | カテゴリ | 概要 |
|---|---|---|
| COMPARISONPYTHON-34 | 機能 | 純粋な Python ラッパーの再構築 — パブリック API が Python から完全にインスペクト可能になりました |
| COMPARISONPYTHON-35 | 機能 | AI エージェント検出のために AGENTS.md を wheel に同梱 |
| COMPARISONPYTHON-36 | 機能 | 新しいドキュメントページ: Agents and LLM Integration (MCP サーバー、バンドルされた AGENTS.md、LLM 最適化ドキュメント) |
| COMPARISONPYTHON-39 | 機能 | コンソールスクリプト groupdocs-comparison が wheel にインストールされ、compare、info、list-formats サブコマンドが利用可能 |
| COMPARISONPYTHON-38 | 強化 | ドキュメント再構築 — developer-guide/comparing-documents/ が comparison-basic/ と advanced-usage/comparison/ を統合し、ロードと保存がフラット化 |
パブリック API の変更
26.x ラッパーは新しいジェネレーターで再構築され、より広範なパブリック API を公開し、いくつかのメンバー名を整理しました。25.12 用に作成された既存のスクリプトのほとんどは 26.5 でも変更なしで動作します。以下の変更は互換性への影響別にまとめられています。
新たに公開されたトップレベルクラス
これらのクラスは 25.12 の内部に存在していましたが、Nuitka でコンパイルされたラッパーにより Python のインスペクションから隠されていました。現在は直接インポート可能です:
from groupdocs.comparison.license import License, Metered
from groupdocs.comparison.options import (
Color, PdfCompareOptions, WordCompareOptions, CalculateCoordinatesModeEnumeration,
ChangeType, ComparisonDisplayMode, DetalisationLevel, FolderComparisonExtension,
ImagesInheritance, MetadataType, PagesSetup, PaperSize, PasswordSaveOption,
PreviewFormats, PreviewResolution,
)
from groupdocs.comparison.result import ComparisonAction, FileType, Rectangle
新しい Color クラス
StyleSettings.font_color、.highlight_color、.shape_color、および .boarder_color は以下のいずれかを受け付けます:
from groupdocs.comparison.options import Color
# Named‑color factory
style.font_color = Color.from_name("firebrick")
# RGB / RGBA tuple
style.font_color = (255, 0, 0)
style.font_color = (255, 0, 0, 128)
# Hex string
style.font_color = "#FF8800"
style.font_color = "#80FF8800" # AARRGGBB
# Packed ARGB int
style.font_color = 0xFF0000
# Or a Color instance directly
style.font_color = Color(178, 34, 34, 255)
Color は groupdocs.comparison、groupdocs.comparison.options、groupdocs.pydrawing のいずれからでもインポート可能で、3 つのパスは同一クラスを指します。
呼び出し可能ベースの PreviewOptions
PreviewOptions コンストラクタは CreatePageStream デリゲート用に Python の呼び出し可能オブジェクトを受け取ります。コールバックのシグネチャは (page_number) -> writable_stream です:
from groupdocs.comparison.options import PreviewOptions, PreviewFormats
def create_page_stream(page_number):
return open(f"page-{page_number}.png", "wb")
def release_page_stream(page_number):
pass # the bridge has already flushed/closed the stream
with Comparer("source.docx") as comparer:
preview = PreviewOptions(create_page_stream, release_page_stream)
preview.preview_format = PreviewFormats.PNG
preview.page_numbers = [1, 2, 3]
comparer.source.generate_preview(preview)
PreviewOptions(create_page_stream)(引数は 1 つ、リリースコールバックなし)も有効です。
座標プロパティからの型付け Rectangle
options = CompareOptions(calculate_coordinates=True)
with Comparer("source.docx") as comparer:
comparer.add("target.docx")
comparer.compare(options)
for change in comparer.get_changes():
b = change.box
print(f"({b.x:.1f}, {b.y:.1f}) {b.width:.1f}x{b.height:.1f}")
# (488.96, 223.86) 71.09x36.80 — '…'
この修正は製品全体に適用され、すべての値型プロパティ(Point、Size など)に対して同様に機能します。
オプションコンストラクタのプロパティ名 kwargs
opts = ApplyChangeOptions(changes=changes, save_original_state=True)
save = SaveOptions(password="secret")
load = LoadOptions(password="open-sesame")
comp = CompareOptions(detect_style_changes=True, sensitivity_of_comparison=85)
セッターパターンは依然として機能します(opts = ApplyChangeOptions(); opts.changes = changes)。未定義の kwarg が渡されると TypeError が発生します。
新しいオーバーロードサフィックス付きメソッド
各 .NET オーバーロードを Python から明示的かつ曖昧さのない名前で呼び出せるよう、オーバーロードサフィックス付きメソッドがパブリックに追加されました。例:
Comparer.add_file(path),add_stream(stream),add_streams(streams),add_string(text)Comparer.apply_changes_file(path, options),apply_changes_stream(stream, options), …Comparer.compare_file(...),compare_stream(...),compare_streams(...),compare_string(...),compare_compare_options(...),compare_save_options(...)Comparer.compare_directory_file(...),compare_directory_string(...)Comparer.get_changes_change_type(...),get_changes_get_change_options(...)License.set_license_file(...),set_license_stream(...),set_license_streams(...),set_license_string(...)Metered.set_metered_key_file(...),set_metered_key_string(...)Document.generate_preview_preview_options(...)localization.SupportedLocales.is_locale_supported_culture_info(...),is_locale_supported_file(...),is_locale_supported_string(...)
明示的な Comparer.dispose()
with コンテキストマネージャーを使用したくない呼び出し元向けに利用可能です。推奨パターンは引き続き以下の通りです:
with Comparer("source.docx") as comparer:
comparer.add("target.docx")
comparer.compare("result.docx")
列挙型の大文字表記
すべての列挙型は UPPERCASE の Python 慣例に従います。主な列挙型は以下の通りです:
from groupdocs.comparison.result import ComparisonAction, FileType
from groupdocs.comparison.options import (
ChangeType, ComparisonDisplayMode, DetalisationLevel,
FolderComparisonExtension, ImagesInheritance, MetadataType,
PaperSize, PasswordSaveOption, PreviewFormats, PreviewResolution,
)
from groupdocs.comparison.words.revision import RevisionAction
ComparisonAction.ACCEPT, ComparisonAction.REJECT, ComparisonAction.NONE
RevisionAction.ACCEPT, RevisionAction.REJECT, RevisionAction.NONE
PreviewFormats.PNG, PreviewFormats.JPG
MetadataType.SOURCE, MetadataType.TARGET, MetadataType.FILE_AUTHOR
PasswordSaveOption.USER, PasswordSaveOption.SOURCE, PasswordSaveOption.TARGET
25.12 のドキュメントで .Accept / .Reject 形式の値が示されていた場合は、すべて大文字表記に置き換えてください。
コード例
以下は新たに公開されたトップレベルクラスをインポートし、シンプルな比較を実行する最小限の例です:
from groupdocs.comparison import Comparer
from groupdocs.comparison.options import CompareOptions
options = CompareOptions(detect_style_changes=True)
with Comparer("source.docx") as comparer:
comparer.add("target.docx")
comparer.compare(options)
for change in comparer.get_changes():
print(f"Change type: {change.change_type}, Box: {change.box}")
アップデートの取得方法
PyPI
pip install groupdocs-comparison-net==26.5.0
この wheel は public PyPI に公開されています: https://pypi.org/project/groupdocs-comparison-net/
直接ダウンロード
直接ダウンロードリンクは提供されていません。パッケージは PyPI または GroupDocs のウェブサイトから取得してください。
リソース
- PyPI プロジェクトページ: https://pypi.org/project/groupdocs-comparison-net/
- Agents and LLM Integration ドキュメント: https://docs.groupdocs.com/comparison/python-net/agents-and-llm-integration/
- サンプルリポジトリ: https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Python-via-.NET
- 問題報告フォーラム: https://forum.groupdocs.com/c/comparison/
- 有料サポートヘルプデスク: https://helpdesk.groupdocs.com/