GroupDocs.Assembly Cloud SDK for Go 让你能够在任何 Go 应用中嵌入强大的文档生成能力,无需繁重的第三方库。该服务完全基于云,并通过简单的 REST API 进行通信,这意味着你只需网络连接和 API 凭证即可开始创建文档。
典型的工作流包括三个逻辑步骤:
这种方法能够实时生成合同、发票、装运清单、销售提案以及其他任何业务关键文档。它还支持 Mail Merge 批量创建个性化信函、barcode 生成、HTML background 样式以及 email attachment 创建。所有操作均通过 SSL/TLS 加密和 API‑key 身份验证进行保护,确保敏感数据在云端始终受到保护。
由于繁重的计算在云端完成,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