GroupDocs.Assembly Cloud は、完全にマネージドされた REST ベースのサービスで、開発者がプログラムからリッチな書式のドキュメントを生成できるようにします。
このサービスは、テンプレートファイル(Word、Excel、PowerPoint、HTML、PDF、またはサポートされている OpenOffice フォーマット)を使用し、特別なプレースホルダータグが含まれています。実行時には、XML または JSON ソースからのデータが LINQ スタイルの式構文 を使用してプレースホルダーにバインドされ、単純な値、テーブル、画像、チャート、バーコード、ハイパーリンク、さらには条件付きコンテンツを注入できます。クラウドインフラストラクチャが、テンプレートの解析、計算の実行、グラフィックのレンダリング、そして最終的に要求された形式(DOCX、PDF、HTML、PNG など)で組み立てられたドキュメントを配信するというすべての重い処理を担当します。
API はプラットフォームに依存しないため、HTTP リクエストを送信できる任意の言語から呼び出すことができます。.NET SDK は、REST 呼び出しをネイティブなオブジェクト指向 API でラップし、認証の詳細を隠蔽し、強く型付けされたリクエスト/レスポンスモデルを提供します。
典型的な .NET ワークフロー
groupdocs.GroupDocs.Assembly-Cloud を追加します。Configuration オブジェクトを作成します。UploadFile を使用してテンプレートを GroupDocs Cloud Storage に配置します。AssembleDocument を呼び出す – SDK が単一のリクエストを送信し、レスポンスに生成されたファイルストリームが含まれます。SDK は オープンソース で、GitHub(https://github.com/groupdocs-GroupDocs.Assembly-cloud/groupdocs-GroupDocs.Assembly-cloud-dotnet.)で保守されています。定期的に更新され、包括的なユニットテストが含まれ、セマンティック バージョニングに従います。
セキュリティは組み込みで、すべてのトラフィックは SSL/TLS で暗号化され、アクセスは 個人 API キー によって保護されます。クライアント側に追加のソフトウェアやサードパーティコンポーネントは不要です – サービスは完全にクラウド上で実行され、オンプレミス、サーバーレス、デスクトップアプリケーションに最適です。
要するに、GroupDocs.Assembly Cloud と .NET SDK を組み合わせることで、C# コードから直接、契約書、請求書、レポート、提案書、差し込み印刷レター、その他の文書中心のワークフローを生成する スケーラブルでローコードなソリューション を提供します。
このスニペットは、テンプレートファイルをアップロードし、データ ソースをバインドして、Assembly Cloud API を使用してドキュメントを生成する方法を示しています。
手順
AssembleOptions を準備します – 出力形式、データ、テンプレートパスを指定します。AssembleDocument を呼び出し、組み立てられたファイルを受け取ります。using GroupDocs.Assembly.Cloud.Sdk;
var config = new Configuration
{
AppSid = "####-####-####-####-####",
AppKey = "##################"
};
var assemblyApi = new AssemblyApi(config);
var fileName = "Input1.docx";
var dataFile = "Input2.docx";
// Upload template
var uploadRequest = new UploadFileRequest(File.OpenRead(fileName), fileName);
assemblyApi.UploadFile(uploadRequest);
// Assemble document
var assembleOptions = new AssembleOptions
{
SaveFormat = "docx",
ReportData = File.ReadAllText(dataFile),
TemplateFileInfo = new TemplateFileInfo { FilePath = fileName }
};
var assembleRequest = new AssembleDocumentRequest(assembleOptions);
var assembledDocument = assemblyApi.AssembleDocument(assembleRequest);