Go 报告生成器

使用 REST API 构建高度定制化报告的 Go 库

  • GroupDocs.Assembly Cloud SDK for cURL
  • GroupDocs.Assembly Cloud SDK for .NET
  • GroupDocs.Assembly Cloud SDK for Java
  • GroupDocs.Assembly Cloud SDK for C++
  • GroupDocs.Assembly Cloud SDK for Go
  • GroupDocs.Assembly Cloud SDK for Node.js
  • GroupDocs.Assembly Cloud SDK for PHP
  • GroupDocs.Assembly Cloud SDK for Python
  • GroupDocs.Assembly Cloud SDK for Ruby
  • GroupDocs.Assembly Cloud SDK for Swift
开始免费试用

GroupDocs.Assembly Cloud SDK for Go 可让您将强大的文档生成功能嵌入到任何 Go 应用程序中,而无需繁琐的第三方库。该服务完全基于云,并通过简单的 REST API 进行通信,这意味着您只需要互联网连接和 API 凭据即可开始创建文档。

典型的工作流程包含三个逻辑步骤:

  1. 准备模板 – 创建 Word、PDF、HTML 或任何包含占位符字段和编程结构(循环、条件、计算)的受支持格式的文件。该模板将作为最终文档的蓝图。
  2. 提供数据源 – 提供与占位符匹配的 XML 或 JSON 数据。该 SDK 使用 LINQ 风格的表达式语法将数据绑定到模板,让您可以动态生成表格、列表、图表和动态内容。
  3. 组装文档 – 使用 Go SDK 将模板上传到 GroupDocs 云存储,发送组装请求,指定模板路径、数据源和所需的输出格式(DOCX、PDF、HTML 等),最后直接从 API 响应下载生成的文档。

此方法可以实时生成合同、发票、装运清单、销售提案以及任何其他业务关键文档。它还支持邮件合并功能,用于批量创建个性化信件、条形码生成、HTML 背景样式以及电子邮件附件创建。所有操作均通过 SSL/TLS 加密和 API 密钥身份验证进行保护,确保敏感数据始终安全可靠地流出云端。

由于繁重的工作在云端进行,因此 SDK 适用于所有支持 Go 的操作系统(Windows、macOS、Linux),并且只需执行标准的“go get”安装步骤即可。无需额外的软件,无需安装原生 Office,也无需手动处理复杂的文件格式——云服务将所有复杂性抽象化,让您可以专注于业务逻辑。

文档组装 REST API 功能

通过 REST API 访问基于云的文档组装

带有占位符字段的模板引擎

XML/JSON 数据的 LINQ 样式表达式绑定

嵌入图像、图表、条形码和外部文档

从数组生成动态表和列表

插入超链接、书签和电子邮件附件

应用公式和顺序数据运算

条件内容块(IF-ELSE)和可重复使用的变量

SSL/TLS加密通信和API密钥认证

通过 REST 将模板上传到 GroupDocs 云存储

在 Go 中生成文档

以下代码片段演示了如何使用 Go 语言上传模板、读取数据源并调用 Assembly API 生成文档。

步骤

  1. config.json 加载配置。
  2. 将模板文件上传到云存储。
  3. 读取数据源 (XML/JSON)。
  4. 使用模板路径和所需的输出格式设置 AssembleOptions
  5. 调用 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

支持和学习资源

GroupDocs.Assembly Cloud 还为其他语言提供单独的 SDK,如下所示:

  中文