用于文档组装和报告生成的 Node.js SDK

使用 GroupDocs.Assembly Cloud REST API 将强大的文档组装功能集成到您的 Node 应用程序中。

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

GroupDocs.Assembly Cloud 是一项完全托管的基于 REST 的服务,使开发人员能够基于可重复使用的模板和外部数据源创建格式丰富、可直接打印的文档。

该平台支持各种源格式和目标格式——从经典的 Microsoft Office 文件(DOCX、XLSX、PPTX)到 PDF、HTML、OpenDocument 以及多种图形格式——让您无需在自己的服务器上安装任何第三方软件即可生成合同、发票、报告、营销手册或任何自定义文档。所有繁重的工作——模板解析、数据绑定、图像渲染、条形码生成、公式计算和文件转换——均在云端执行,从而确保跨操作系统获得一致的结果并降低基础设施成本。

为什么使用 Node.js SDK?

  • 零安装运行时——该 SDK 是 Assembly Cloud REST API 的精简包装,因此您只需要 Node12+ 和一个 npm 包。
  • 跨平台 – 在 Windows、macOS、Linux 或容器内均可正常工作。
  • 安全 – 所有通信均通过 TLS 加密,并使用您的个人应用 SID 和应用密钥进行身份验证。
  • 可扩展 – 该云服务既可以处理单文档请求,也可以处理大容量批量邮件合并任务。
  • 可扩展 – 任何能够调用 REST 端点的语言都可以使用相同的 API;Node.js SDK 简化了请求构建和响应处理。

Node.js 应用程序中的典型工作流程

  1. 准备一个模板(DOCX、PPTX 等),其中包含占位符字段和可选的编程结构,例如条件块、循环或条形码标签。
  2. 创建数据源(XML 或 JSON 格式),用于提供要合并到模板中的值。
  3. 使用 SDK 的 uploadFile 方法将模板上传到 GroupDocs 云存储。
  4. 配置 AssembleOptions – 指定模板路径、数据源、所需的输出格式(PDF、DOCX、HTML 等)以及其他设置(例如,条形码生成、背景颜色)。
  5. 调用 assembleDocument – SDK 发送单个 HTTP 请求,触发服务器上的组装过程。
  6. 以字节数组的形式接收组装后的文件**,将其保存在本地或直接将其流式传输到客户端。

以下示例(如更多功能部分所示)以紧凑且可立即投入生产的代码片段演示了上述每个步骤。

GroupDocs.Assembly 云 API 功能

使用云 REST API 从模板生成文档

XML 和 JSON 源的 LINQ 样式数据绑定

插入图像、图表和外部文档内容

来自数组数据的动态表和列表

添加超链接、书签和电子邮件附件

应用公式和顺序数据运算

模板中的条件内容块(IF-ELSE)

生成条形码(QR、Code128 等)

设置 HTML 输出的背景颜色

批量个性化信件的邮件合并

在 Node.js 中生成报告

以下代码片段演示了完整的流程:上传模板、读取 JSON 数据文件、配置组装请求并接收组装后的文档。

步骤

  1. 上传 DOCX 模板至 GroupDocs 云存储。
  2. 读取包含待合并值的 JSON 数据文件。
  3. 配置 AssembleOptions – 选择输出格式并绑定数据。
  4. 调用 assembleDocument 生成报告。
  5. 保存 返回的字节数组为 PDF(或任何支持的格式)。
// Replace with your App SID and App Key
const { AssemblyApi, AssembleDocumentRequest, AssembleOptions, TemplateFileInfo, model } = require("groupdocs-assembly-cloud");
const fs = require("fs");
const path = require("path");

// Authorization placeholder
const assemblyApi = new AssemblyApi(".#-.#-.#-.#-.#", "......");

// 1️⃣ Upload the template file
const templatePath = "Input1.docx";
const uploadRequest = new model.UploadFileRequest({
    fileContent: fs.createReadStream(templatePath),
    path: templatePath
});
await assemblyApi.uploadFile(uploadRequest);

// 2️⃣ Read the data source (JSON)
const dataPath = "Input2.docx";
const reportData = fs.readFileSync(dataPath, "utf8");

// 3️⃣ Set assembly options
const assembleOptions = new AssembleOptions({
    saveFormat: "pdf",
    reportData: reportData,
    templateFileInfo: new TemplateFileInfo({ filePath: templatePath })
});

// 4️⃣ Create and send the assemble request
const request = new AssembleDocumentRequest({ assembleOptions });
const result = await assemblyApi.assembleDocument(request);

// 5️⃣ Save the resulting document
const outputPath = path.join(__dirname, "GeneratedReport.pdf");
fs.writeFileSync(outputPath, result.body);

console.log("Report generated successfully:", outputPath);

支持和学习资源

GroupDocs.Assembly Cloud 还提供其他语言的 SDK:

  中文