Microsoft Word には、Word 文書の変更を追跡し、リビジョンを保持する優れた機能が備わっています。 Python 開発者は、クラウド上で Word 文書 (.docx) の追跡された変更をプログラム的に承認または拒否できます。この記事では、Python の REST API を使用して Word 文書の追跡された変更を承認または拒否する方法に焦点を当てます。
この記事では次のトピックについて説明します。
- REST API と Python SDK のドキュメント比較
- Python の REST API を使用して追跡された変更を承認または拒否する
- Python の REST API を使用してすべての変更を承認または拒否する
REST API と Python SDK のドキュメント比較
リビジョンを扱うには、GroupDocs.Comparison Cloud の Python SDK API を使用します。サポートされているファイル形式の 2 つのドキュメントを比較し、それらの間の相違点を見つけます。その結果、相違点を含む結果ファイルが作成されます。また、取得した変更を承認または拒否することもできます。 SDK を既存の Python アプリケーションに簡単に統合できます。ドキュメント、スプレッドシート、プレゼンテーション、Microsoft Visio 図、電子メール、その他多くの形式のファイルを比較できます。また、クラウド API の ドキュメント比較ファミリー メンバー として、.NET、Java、PHP、Node.js、および Ruby SDK も提供します。
コンソールで次のコマンドを使用して、GroupDocs.Comparison Cloud を Python プロジェクトにインストールできます。
pip install groupdocs_comparison_cloud
手順と利用可能なコード例を開始する前に、ダッシュボード からクライアント ID とクライアント シークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。
client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"
configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
Python の REST API を使用して追跡された変更を承認または拒否する
以下の簡単な手順に従って、Word 文書の特定のリビジョンを承認または拒否できます。
- DOCX ファイルをクラウドに アップロード
- Python を使用した変更の承認または拒否
- ダウンロード 結果のファイル
ドキュメントをアップロードする
まず、以下のコード例を使用して、改訂された Word 文書をクラウドにアップロードします。
# APIのインスタンスを作成する
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
request = groupdocs_comparison_cloud.UploadFileRequest("source_with_revs.docx", "C:\\Files\\source_with_revs.docx", "")
response = file_api.upload_file(request)
その結果、アップロードされた DOCX ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Python を使用した変更の承認または拒否
プログラムでリビジョンを承認または拒否するには、以下の手順に従ってください。
- ReviewApi のインスタンスを作成する
- ソース .docx ファイルを設定する
- applyRevisionsOptions の定義
- ソースの割り当てと出力ファイルの設定
- GetRevisionsRequest の作成
- ReviewApi.get\revisions() メソッドを呼び出してリビジョンを取得します
- リビジョンごとにリビジョンアクションを「承認」または「拒否」に設定します
- 更新されたリビジョンをApplyRevisionsOptionsに割り当てる
- applyRevisionsRequest の作成
- ReviewApi.apply\revisions() メソッドを呼び出して結果を取得します
次のコード例は、REST API を使用して追跡された変更を受け入れる方法を示しています。
# APIのインスタンスを作成する
api_instance = groupdocs_comparison_cloud.ReviewApi.from_keys(client_id, client_secret)
# ソースファイルを設定する
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source_with_revs.docx"
options = groupdocs_comparison_cloud.ApplyRevisionsOptions()
options.source_file = source
options.output_path = "output/result.docx"
request = groupdocs_comparison_cloud.GetRevisionsRequest(options)
revisions = api_instance.get_revisions(request)
# すべてのリビジョン数を取得する
print("Revisions count: " + str(len(revisions)))
# 改訂を受け入れる
for revision in revisions:
revision.action = "Accept"
options.revisions = revisions
request = groupdocs_comparison_cloud.ApplyRevisionsRequest(options)
response = api_instance.apply_revisions(request)
変更を拒否する場合は、次のコード例を使用できます。
for revision in revisions:
revision.action = "Reject"
結果のファイルをダウンロードする
その結果、上記のコード例では、変更を加えた新しく作成された 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 を使用してすべての変更を受け入れるか拒否する
すべての変更をプログラムで一度に承認または拒否するには、以下の手順に従ってください。
- ReviewApi のインスタンスを作成する
- ソース .docx ファイルを設定する
- applyRevisionsOptions の定義
- 次に、ソースを割り当て、出力ファイルを設定します
- すべての変更を受け入れるには、accept\all を「True」に設定します。
- または、すべての変更を拒否するには、reject\all を「True」に設定します。
- 次に、更新されたリビジョンをApplyRevisionsOptionsに割り当てます。
- applyRevisionsRequest の作成
- ReviewApi.apply\revisions() メソッドを呼び出して結果を取得します
次のコード例は、REST API を使用してすべての変更を受け入れる方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。
# APIのインスタンスを作成する
api_instance = groupdocs_comparison_cloud.ReviewApi.from_keys(client_id, client_secret)
# ソースファイルを設定する
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source_with_revs.docx"
options = groupdocs_comparison_cloud.ApplyRevisionsOptions()
options.source_file = source
options.output_path = "output/result.docx"
# すべてのリビジョンを受け入れる
options.accept_all = True
request = groupdocs_comparison_cloud.ApplyRevisionsRequest(options)
response = api_instance.apply_revisions(request)
次のコード例を使用すると、すべてのリビジョンを拒否できます。
options.reject_all = True
オンラインで試す
上記の API を使用して開発された、次の無料のオンライン Word 比較ツールをお試しください。 https://products.groupdocs.app/comparison/docx
結論
この記事では、Python を使用してクラウド上の Microsoft Word ドキュメントの変更履歴を承認または拒否する方法を学習しました。また、プログラムによって DOCX ファイルをクラウドにアップロードし、結果のファイルをクラウドからダウンロードする方法も学習しました。 GroupDocs.Comparison Cloud API の詳細については、ドキュメント を使用して学習できます。また、API リファレンス セクションも提供されており、ブラウザーを通じて直接 API を視覚化して操作できるようになります。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。