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

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

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

GroupDocs.Assembly Cloud 是一项完全托管、基于 REST 的服务,帮助开发者从可复用模板和外部数据源创建富格式、可直接打印的文档。 平台支持多种源格式和目标格式–从经典的 Microsoft Office 文件(DOCX、XLSX、PPTX)到 PDF、HTML、OpenDocument 以及众多图形格式–让您无需在自己的服务器上安装任何第三方软件,即可生成合同、发票、报告、营销手册或任何自定义文档。所有繁重的工作–模板解析、数据绑定、图像渲染、条码生成、公式求值以及文件转换–均在云端完成,确保跨操作系统结果一致并降低基础设施成本。 为什么使用 Node.js SDK?

  • 零安装运行时 – SDK 是 Assembly Cloud REST API 的轻量封装,您只需 Node 12+ 和一个 npm 包即可。
  • 跨平台 – 在 Windows、macOS、Linux 或容器中均表现一致。
  • 安全 – 所有通信均通过 TLS 加密,认证使用您的个人 App SID 和 App Key。
  • 可伸缩 – 云服务既能处理单文档请求,也能应对大批量邮件合并任务。
  • 可扩展 – 同一 API 可在任何能够调用 REST 端点的语言中使用;Node.js SDK 仅简化了请求构建和响应处理。 Node.js 应用程序的典型工作流
  1. 准备模板(如 DOCX、PPTX 等),模板中包含占位字段以及可选的编程结构,如条件块、循环或条码标签。
  2. 创建数据源,使用 XML 或 JSON,提供要合并到模板中的数值。
  3. 上传模板 到 GroupDocs Cloud Storage,使用 SDK 的 uploadFile 方法。
  4. 配置 AssembleOptions – 指定模板路径、数据源、期望的输出格式(PDF、DOCX、HTML 等)以及其他设置(例如条码生成、背景颜色)。
  5. 调用 assembleDocument – SDK 发送单个 HTTP 请求,触发服务器上的组装过程。
  6. 接收组装好的文件,以字节数组形式返回,您可以本地保存或直接流式传输给客户端。 下面的示例(展示于 更多特性 部分)以紧凑、可投入生产的代码片段演示了上述每一步。

GroupDocs.Assembly Cloud API 功能

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

LINQ‑风格的数据绑定,适用于 XML 和 JSON 源

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

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

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

应用公式和顺序数据操作

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

生成条形码(QR、Code128 等)

为 HTML 输出设置背景颜色

邮件合并用于批量生成个性化信件

在 Node.js 中生成报告

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

步骤

  1. 上传 DOCX 模板至 GroupDocs Cloud Storage。
  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 还提供 SDKs 用于其他语言:

  中文
700acfb5f