Python 開発者は、クラウド上でプログラム的に 2 つ以上の Word 文書 (.docx) を比較して類似点と相違点を確認できます。文書の比較は、Word 文書内の変更を追跡するのに役立ちます。この記事では、Python の REST API を使用して 2 つ以上の Word ドキュメントを比較する方法に焦点を当てます。
この記事では次のトピックについて説明します。
REST API と Python SDK のドキュメント比較
Microsoft Word ドキュメントを比較するには、GroupDocs.Comparison Cloud の Python SDK API を使用します。サポートされているファイル形式の 2 つのドキュメントを比較し、それらの間の相違点を見つけます。その結果、相違点を含む結果ファイルが作成され、取得した変更を受け入れるか拒否できるようになります。既存の Python アプリケーションに簡単に統合でき、エンドユーザーがドキュメント、スプレッドシート、プレゼンテーション、Microsoft Visio の図、電子メール、その他多くの形式のファイルを比較できるようになります。また、クラウド API の ドキュメント比較ファミリー メンバー として .NET、Java、PHP、および Ruby SDK も提供します。
コンソールで次のコマンドを使用して、pip (Python 用パッケージ インストーラー) を使用して GroupDocs.Comparison Cloud を Python プロジェクトにインストールできます。
pip install groupdocs_comparison_cloud
手順と利用可能なコード例を開始する前に、ダッシュボード からクライアント ID とクライアント シークレットを取得してください。以下に示すように、コードに ID とシークレットを追加します。
client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"
my_storage = ""
configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
Python の REST API を使用して Word ドキュメントを比較する
以下の簡単な手順に従って、2 つの Word 文書を比較できます。
- DOCX ファイルをクラウドに アップロード
- Python で Word ファイルを比較
- ダウンロード 結果のファイル
ドキュメントをアップロードする
まず、以下のコード例を使用して、ソースとターゲットの Word ドキュメントをクラウドにアップロードします。
# APIの初期化
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_comparison_cloud.StorageApi.from_config(configuration)
# サンプルファイルをアップロードする
for filename in glob.iglob("C:\\Files\\*.docx", recursive=True):
destFile = filename.replace("C:\\Files\\", "", 1)
fileExistsResponse = storage_api.object_exists(groupdocs_comparison_cloud.ObjectExistsRequest(destFile))
if not fileExistsResponse.exists:
file_api.upload_file(groupdocs_comparison_cloud.UploadFileRequest(destFile, filename))
print("Uploaded file: "+ destFile)
その結果、アップロードされた DOCX ファイル (source.docx、target.docx) は、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Python で Word ファイルを比較する
2 つの Word 文書をプログラムで比較するには、以下の手順に従ってください。
- CompareApi のインスタンスを作成する
- ソース .docx ファイルを設定する
- ターゲットの .docx ファイルを設定します
- 比較オプションの定義
- 比較の作成リクエスト
- CompareApi.comparisons() メソッドを呼び出して結果を取得します
次のコード スニペットは、REST API を使用して 2 つの Word ドキュメントを比較する方法を示しています。
# 必要なAPIインスタンスを作成する
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.docx"
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.docx"
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "Output/result.docx"
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)
以下に示すように、パスワードで保護されたソース ファイルまたはターゲット ファイルのパスワードを指定できます。
target.password = "5784"
以下に示すように、比較中に適用されるさまざまな設定を定義し、それらを ComparisonOptions に割り当てることもできます。
settings = groupdocs_comparison_cloud.Settings()
# 感度を比較する
settings.sensitivity_of_comparison = 100
# 変更に合わせてスタイルをカスタマイズする
settings.inserted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.inserted_items_style.highlight_color = "14297642"
settings.inserted_items_style.font_color = "16711680"
settings.inserted_items_style.underline = True
settings.deleted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.deleted_items_style.font_color = "14166746"
settings.deleted_items_style.bold = True
settings.changed_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.changed_items_style.font_color = "14320170"
settings.changed_items_style.italic = True
options.settings = settings
結果のファイルをダウンロードする
上記のコード サンプルは、クラウド上に新しく作成された DOCX ファイルに差分を保存します。次のコードサンプルを使用してダウンロードできます。
# APIのインスタンスを作成する
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
request = groupdocs_comparison_cloud.DownloadFileRequest("Output\\result.docx", my_storage)
response = file_api.download_file(request)
# ダウンロードしたファイルを作業ディレクトリに移動します
shutil.move(response, "C:\\Files\\")
結果のファイルには、次に示すように、ドキュメントの最後に概要ページも含まれています。
Python を使用して複数の Word ファイルを比較する
Python を使用して複数の Word 文書を比較するには、以下の手順に従ってください。
- CompareApi のインスタンスを作成する
- ソース .docx ファイルを設定する
- 複数のターゲット .docx ファイルを設定する
- 必要に応じて ComparisonOptions を定義します
- 比較の作成リクエスト
- CompareApi.comparisons() メソッドを呼び出して結果を取得します
次のコード スニペットは、Python を使用して複数の Word ドキュメントを比較する方法を示しています。複数の DOCX ファイルをアップロードするには、前述の手順に従ってください。
# 必要なAPIインスタンスを作成する
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.docx"
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.docx"
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.docx"
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "Output/result.docx"
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)
上記の API を使用して開発された、次の無料のオンライン DOCX 比較ツールをお試しください。 https://products.groupdocs.app/comparison/docx
結論
この記事では、Python を使用したドキュメント比較 REST API を使用してクラウド上の Microsoft Word ドキュメントを比較する方法を学習しました。また、プログラムによって 2 つ以上のファイルをクラウドにアップロードし、結果のファイルをクラウドからダウンロードする方法も学習しました。 GroupDocs.Comparison Cloud API の詳細については、ドキュメント を使用して学習できます。また、API リファレンス セクションも提供されており、ブラウザーを通じて直接 API を視覚化して操作できるようになります。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。