GroupDocs.Assembly Cloud SDK for Go を使用すると、重いサードパーティライブラリを必要とせずに、任意の Go アプリケーションに強力なドキュメント生成機能を組み込むことができます。このサービスは完全にクラウドベースで、シンプルな REST API を介して通信します。そのため、インターネット接続と API の認証情報さえあれば、すぐにドキュメントの作成を開始できます。
一般的なワークフローは、以下の3つの論理的なステップで構成されます。
このアプローチにより、契約書、請求書、出荷明細書、営業提案書など、リアルタイムでビジネスに不可欠なあらゆるドキュメントを生成できます。また、パーソナライズされたレターの一括作成のための Mail Merge、バーコード の生成、HTML 背景 のスタイリング、メール添付 の作成もサポートしています。すべての操作は SSL/TLS 暗号化と API キー認証で保護されており、機密データがクラウド上で保護されないまま流出することはありません。
重い処理がクラウドで行われるため、SDK は Go(Windows macOS、Linux)を実行できるすべてのオペレーティングシステムで動作し、標準的な go get インストール手順だけが必要です。追加のソフトウェアやネイティブ Office のインストール、複雑なファイル形式の手動処理は不要です。クラウドサービスがこれらの複雑さを抽象化するので、ビジネスロジックに集中できます。
以下のスニペットは、テンプレートをアップロードし、データソースを読み取り、Assembly API を呼び出し、Go を使用してドキュメントを生成する方法を示しています。
手順
config.json から設定をロードします。AssembleOptions を設定します。AssembleDocument を呼び出し、組み立てられたファイルを受け取ります。import (
"os"
"io/ioutil"
"github.com/groupdocs-assembly-cloud/groupdocs-assembly-cloud-go/api"
"github.com/groupdocs-assembly-cloud/groupdocs-assembly-cloud-go/api/models"
)
// 1. Initialise configuration
config, _ := models.NewConfiguration("config.json")
assemblyApi, ctx, _ := api.NewAPIClient(config)
// 2. Upload template
fileName := "Input1.docx"
requestFileContent, _ := os.Open(fileName)
uploadReq := &models.UploadFileRequest{
FileContent: requestFileContent,
Path: ToStringPointer(fileName),
}
_, _, _ = assemblyApi.UploadFile(ctx, uploadReq)
// 3. Read data source
dataFile := "Input2.docx" // can be XML or JSON
data, _ := ioutil.ReadFile(dataFile)
// 4. Prepare assemble options
templateInfo := api.TemplateFileInfo{FilePath: fileName}
assembleOptions := api.AssembleOptions{
TemplateFileInfo: &templateInfo,
SaveFormat: "docx",
ReportData: string(data),
}
// 5. Generate document
output, err := assemblyApi.AssemblyApi.AssembleDocument(ctx, assembleOptions)
if err != nil {
// handle error
}
// `output` contains the generated document