针对 Go 的报告生成器

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

  • 你可以使用 GroupDocs.Assembly Cloud SDK 来处理 cURL
  • 你可以使用 GroupDocs.Assembly Cloud SDK 来处理 .NET
  • GroupDocs.Assembly Cloud SDK 用于 Java
  • GroupDocs.Assembly Cloud SDK 用于 C++
  • GroupDocs.Assembly Cloud SDK 用于 Go
  • GroupDocs.Assembly Cloud SDK 用于 Node.js
  • GroupDocs.Assembly Cloud SDK 用于 PHP
  • GroupDocs.Assembly Cloud SDK 用于 Python
  • GroupDocs.Assembly Cloud SDK 用于 Ruby
  • GroupDocs.Assembly Cloud SDK 用于 Swift
开始免费试用

GroupDocs.Assembly Cloud SDK for Go 让你能够在任何 Go 应用中嵌入强大的文档生成能力,无需繁重的第三方库。该服务完全基于云,并通过简单的 REST API 进行通信,这意味着你只需网络连接和 API 凭证即可开始创建文档。

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

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

这种方法能够实时生成合同、发票、装运清单、销售提案以及其他任何业务关键文档。它还支持 Mail Merge 批量创建个性化信函、barcode 生成、HTML background 样式以及 email attachment 创建。所有操作均通过 SSL/TLS 加密和 API‑key 身份验证进行保护,确保敏感数据在云端始终受到保护。

由于繁重的计算在云端完成,SDK 可在所有能够运行 Go 的操作系统上工作(Windows macOS、Linux),仅需标准的 go get 安装步骤。无需额外软件、无需本地 Office 安装,也无需手动处理复杂的文件格式–云服务抽象掉所有这些复杂性,让你专注于业务逻辑。

文档组装 REST API 功能

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

带占位字段的模板引擎

LINQ 风格的表达式绑定,用于 XML/JSON 数据

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

从数组生成动态表格和列表

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

应用公式和顺序数据操作

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

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

通过 REST 将模板上传至 GroupDocs Cloud Storage

在 Go 中生成文档

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

步骤

  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 还提供以下列出的其他语言的单独的 SDKs:

  中文
700acfb5f