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