GroupDocs.Assembly Cloud 是一项完全托管的基于 REST 的服务,使开发人员能够基于可重复使用的模板和外部数据源创建格式丰富、可直接打印的文档。
该平台支持各种源格式和目标格式——从经典的 Microsoft Office 文件(DOCX、XLSX、PPTX)到 PDF、HTML、OpenDocument 以及多种图形格式——让您无需在自己的服务器上安装任何第三方软件即可生成合同、发票、报告、营销手册或任何自定义文档。所有繁重的工作——模板解析、数据绑定、图像渲染、条形码生成、公式计算和文件转换——均在云端执行,从而确保跨操作系统获得一致的结果并降低基础设施成本。
为什么使用 Node.js SDK?
Node.js 应用程序中的典型工作流程
uploadFile 方法将模板上传到 GroupDocs 云存储。AssembleOptions – 指定模板路径、数据源、所需的输出格式(PDF、DOCX、HTML 等)以及其他设置(例如,条形码生成、背景颜色)。assembleDocument – SDK 发送单个 HTTP 请求,触发服务器上的组装过程。以下示例(如更多功能部分所示)以紧凑且可立即投入生产的代码片段演示了上述每个步骤。
以下代码片段演示了完整的流程:上传模板、读取 JSON 数据文件、配置组装请求并接收组装后的文档。
步骤
AssembleOptions – 选择输出格式并绑定数据。assembleDocument 生成报告。// 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);