GroupDocs.Assembly Cloud は、完全にマネージドされた REST ベースのサービスで、Java 開発者がクラウド上で高度にカスタマイズされたドキュメント、レポート、契約書、請求書、メールマージレターを直接作成できるようにします。 このソリューションは、幅広い入力および出力フォーマットに対応しており、テンプレートファイルを GroupDocs Cloud Storage に保存し、XML または JSON データソースにバインドし、希望するフォーマット(DOCX、PDF、HTML、PPTX、XLSX など)で組み立てられたドキュメントを受け取ることができます。 すべての処理がサーバー側で行われるため、クライアントマシンにサードパーティ製ソフトウェアやライブラリをインストールする必要はありません。必要なのは Java ランタイムと Assembly Cloud SDK だけで、これにより API エンドポイントの薄いラッパーが提供されます。
典型的な Java ワークフローは、3 つのシンプルなステップで構成されます。まず、Assembly Cloud SDK の依存関係を Maven または Gradle プロジェクトに追加し、個人用 App SID と App Key で ApiClient を初期化します。次に、uploadFile メソッドを使用してテンプレートファイルを GroupDocs Cloud Storage にアップロードします。最後に、AssembleOptions オブジェクトを作成し、テンプレートのパス、データファイル(XML または JSON)、希望する出力フォーマットを指定して assembleDocument を呼び出します。サービスは組み立てられたドキュメントをストリームとして返し、ローカルに保存したりさらに処理したりできます。SDK にはテンプレートのプレビュー、サポートされているフォーマットの取得、エラー処理用のヘルパーメソッドも用意されています。このシンプルなアプローチにより、ドキュメント生成をウェブアプリケーション、バッチ処理ジョブ、マイクロサービスに最小限のコードで統合できます。
すべての通信は SSL / TLS で暗号化され、アクセスは個人キーで制御されます。プラットフォームは自動的にスケールし、大量のリクエストに対応でき、単一の API 呼び出しで数千通のパーソナライズドレターを生成できるバッチメールマージ操作もサポートします。さらに、SDK はテンプレート内に画像、チャート、バーコードを埋め込み、LINQ スタイルの式を使用して条件ロジックを直接適用できるため、最終的なドキュメントレイアウトを完全にコントロールできます。
以下のスニペットは、テンプレートをアップロードし、データソースを設定し、Assembly Cloud API を使用して DOCX レポートを生成する方法を示しています。 手順
AssembleOptions を設定します(テンプレートパス、出力形式、データファイル)。assembleDocument を呼び出して結果を生成します。import com.groupdocs.assembly.*;
AssemblyApi assemblyApi = new AssemblyApi(new ApiClient());
ApiClient client = assemblyApi.getApiClient();
client.setAppKey("####################").setAppSid("####-####-####-####-####");
String fileName = "Input1.docx";
String dataFile = "Input2.docx";
File requestFileContent = new File(fileName);
UploadFileRequest uploadDocumentRequest =
new UploadFileRequest(requestFileContent, fileName, null);
assemblyApi.uploadFile(uploadDocumentRequest);
AssembleOptions assembleOptions = new AssembleOptions();
assembleOptions.setTemplateFileInfo(new TemplateFileInfo().filePath(fileName));
assembleOptions.setSaveFormat("docx");
assembleOptions.setReportData(Paths.get(dataFile).toString());
AssembleDocumentRequest request = new AssembleDocumentRequest(assembleOptions);
assemblyApi.assembleDocument(request);