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