Интегрируйте мощные возможности сборки документов в ваши Node-приложения с помощью GroupDocs.Assembly Cloud REST API.
Начать бесплатную пробную версиюGroupDocs.Assembly Cloud - полностью управляемый сервис на основе REST, позволяющий разработчикам создавать богато оформленные, готовые к печати документы из переиспользуемых шаблонов и внешних источников данных.
Платформа поддерживает широкий спектр исходных и целевых форматов - от классических файлов Microsoft Office (DOCX, XLSX, PPTX) до PDF, HTML, OpenDocument и многих графических форматов - что позволяет генерировать контракты, счета‑фактуры, отчёты, маркетинговые брошюры или любые пользовательские документы без установки стороннего программного обеспечения на ваших серверах. Всё тяжёлое - разбор шаблонов, привязка данных, рендеринг изображений, генерация штрих‑кодов, вычисление формул и конвертация файлов - выполняется в облаке, обеспечивая единообразные результаты на разных ОС и снижая затраты на инфраструктуру.
Зачем использовать Node.js SDK?
Типовой рабочий процесс в приложении Node.js
uploadFile сервиса SDK.AssembleOptions - укажите путь к шаблону, источник данных, желаемый формат вывода (PDF, DOCX, HTML и др.) и дополнительные параметры (например, генерацию штрих‑кода, цвет фона).assembleDocument - SDK отправляет единичный запрос HTTP, инициирующий процесс сборки на сервере.Следующий пример (показан в разделе More Feature) демонстрирует каждый из этих шагов в компактном, готовом к продакшн фрагменте кода.
Ниже приведённый фрагмент демонстрирует полный процесс: загрузите шаблон, прочитайте файл данных 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);