GroupDocs.Assembly Cloud SDK for Python を使用すると、開発者は契約書、請求書、出荷報告書、営業提案書、在庫管理など、ビジネスクリティカルな様々な成果物を含むリッチフォーマットのドキュメントを自動化できます。このソリューションは完全にクラウドベースで、REST API を介してアクセスできます。つまり、HTTP リクエストを送信できる Python アプリケーションであれば、サーバーサイドソフトウェアやサードパーティ製ツールをインストールすることなく、オンデマンドでドキュメントを生成できます。
このプラットフォームは、特殊なプレースホルダフィールドとプログラミング構造を含む ドキュメントテンプレート を中核として機能します。これらのプレースホルダは、LINQ スタイルの式構文を使用して、データソース(XML または JSON)から取得した値に自動的に置き換えられます。この強力なアプローチにより、画像、グラフ、バーコードの埋め込み、HTML 出力の背景色の設定、配列データからの動的な表やリストの作成、条件付きロジックによるドキュメントの一部の包含または除外などが可能になります。SDK は幅広い入出力形式をサポートしているため、DOCX テンプレートから PDF を生成したり、HTML レポートを作成したり、追加の変換手順なしで OpenDocument ファイルを出力することができます。
Python での一般的なワークフローは、以下の 3 つの簡単なステップで構成されています。
1️⃣ テンプレートを作成 – Word、Excel、PowerPoint、またはサポートされている Office/OpenOffice ファイルを作成し、プレースホルダフィールドと生成ルールを挿入します。
2️⃣ データソースを準備 – テンプレートで定義されたプレースホルダに一致する XML または JSON 形式でデータを提供します。
3️⃣ 数行の Python コードを記述 – groupdocsassemblycloud パッケージを使用してテンプレートを GroupDocs Cloud Storage にアップロードし、データソースと必要な出力形式を渡して AssembleDocument オペレーションを呼び出します。API は、組み立てられたドキュメントをレスポンスで直接返すか、後で取得できるようにクラウドに保存します。
すべてのやり取りは SSL/TLS 暗号化によって保護され、認証は個人のアプリ SID とアプリキーによって行われます。これにより、クラウドで処理されている間もドキュメントとデータは保護された状態が保たれます。 SDK のクロスプラットフォームな性質により、ドキュメント生成を Web サービス、バッチジョブ、デスクトップ アプリケーション、またはサーバーレス関数に統合し、印刷可能、Web 対応、または電子メール対応のドキュメントを瞬時に確実に提供できます。
この Python の例では、GroupDocs Assembly Cloud SDK を使用してテンプレートをアップロードし、データファイルをバインドし、出力ドキュメントを生成する方法を示します。
手順
AssemblyApi を初期化します。TemplateFileInfo と AssembleOptions を作成します。assemble_document を呼び出して結果を生成します。import groupdocsassemblycloud
# API クライアントを初期化します (認証情報に置き換えてください)
assembly_api = groupdocsassemblycloud.AssemblyApi('......##', '......##')
# 1️⃣ テンプレートをアップロードします
file_name = 'Input1.docx'
with open(file_name, 'rb') as request_file_content:
upload_request = groupdocsassemblycloud.models.requests.UploadFileRequest(
file_content=request_file_content,
path=file_name
)
assembly_api.upload_file(upload_request)
# 2️⃣ データソースを読み込みます (XML、JSON、または DOCX が使用可能)
data_file = 'Input2.docx'
with open(data_file, 'rb') as data:
template_info = groupdocsassemblycloud.models.TemplateFileInfo(file_name)
# 3️⃣ アセンブルオプションを設定する (出力形式: docx)
assemble_options = groupdocsassemblycloud.models.AssembleOptions(
template_info,
"docx",
data
)
# 4️⃣ ドキュメントをアセンブルする
request = groupdocsassemblycloud.models.requests.AssembleDocumentRequest(assemble_options)
result = assembly_api.assemble_document(request)
print("ドキュメントが正常に生成されました:", result.path)