Node.js SDK для сборки документов и создания отчетов

Интегрируйте мощные возможности сборки документов в свои приложения Node с помощью GroupDocs.Assembly Cloud REST API.

  • 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 представляет собой тонкую оболочку для REST API Assembly Cloud, поэтому вам нужны только Node12+ и пакет npm.
  • Кроссплатформенность — одинаково работает в Windows, macOS, Linux или внутри контейнеров.
  • Безопасность — весь обмен данными шифруется по протоколу TLS, а аутентификация выполняется с использованием ваших личных идентификаторов безопасности приложения (SID) и ключа приложения.
  • Масштабируемость — облачный сервис может обрабатывать как запросы на отдельные документы, так и задания по рассылке больших объемов писем.
  • Расширяемость — один и тот же API можно использовать из любого языка, поддерживающего REST-конечные точки; Node.js SDK упрощает создание запросов и обработку ответов.

Типичный рабочий процесс в приложении Node.js

  1. Подготовьте шаблон (DOCX, PPTX и т. д.), содержащий поля-заполнители и дополнительные программные конструкции, такие как условные блоки, циклы или теги штрихкодов.

  2. Создайте источник данных в формате XML или JSON, предоставляющий значения для объединения в шаблон.

  3. Загрузите шаблон в облачное хранилище GroupDocs с помощью метода uploadFile SDK.

  4. Настройте AssembleOptions — укажите путь к шаблону, источник данных, желаемый формат вывода (PDF, DOCX, HTML и т. д.) и любые дополнительные параметры (например, генерацию штрихкода, цвет фона).

  5. Вызовите assembleDocument — SDK отправит один HTTP-запрос, который запустит процесс сборки на сервере.

  6. Получить собранный файл в виде массива байтов, сохранить его локально или передать потоком непосредственно клиенту.

Следующий пример (см. раздел Дополнительные функции) демонстрирует каждый из этих шагов в компактном, готовом к использованию фрагменте кода.

Возможности API облака GroupDocs.Assembly

Генерация документов из шаблонов с использованием облачного REST API

Связывание данных в стиле LINQ для источников XML и JSON

Вставка изображений, диаграмм и внешнего содержимого документа

Динамические таблицы и списки из массива данных

Добавляйте гиперссылки, закладки и вложения электронной почты

Применение формул и последовательных операций с данными

Условные блоки контента (IF‑ELSE) в шаблонах

Генерация штрихкодов (QR, Code128 и т. д.)

Установить цвета фона для вывода HTML

Mail‑Merge для пакетной персонализированной рассылки писем

Создать отчет в Node.js

В приведенном ниже фрагменте кода показан полный процесс: загрузка шаблона, чтение JSON-файла данных, настройка запроса на сборку и получение собранного документа.

Шаги

  1. Загрузите шаблон DOCX в облачное хранилище GroupDocs.

  2. Считайте JSON-файл данных, содержащий значения для объединения.

  3. Настройте AssembleOptions — выберите формат вывода и привяжите данные.

  4. Вызовите assembleDocument для создания отчета.

  5. Сохраните возвращенный массив байтов в формате PDF (или в любом поддерживаемом формате).

// Замените на SID и ключ приложения вашего приложения
const { AssemblyApi, AssembleDocumentRequest, AssembleOptions, TemplateFileInfo, model } = require("groupdocs-assembly-cloud");
const fs = require("fs");
const path = require("path");

// Заполнитель авторизации
const assemblyApi = new AssemblyApi(".#-.#-.#-.#-.#", "......");

// 1️⃣ Загрузить файл шаблона
const templatePath = "Input1.docx";
const uploadRequest = new model.UploadFileRequest({
fileContent: fs.createReadStream(templatePath),
path: templatePath
});
await assemblyApi.uploadFile(uploadRequest);

// 2️⃣ Чтение источника данных (JSON)
const dataPath = "Input2.docx";
const reportData = fs.readFileSync(dataPath, "utf8");

// 3️⃣ Задать параметры сборки
const assembleOptions = new AssembleOptions({
saveFormat: "pdf",
reportData: reportData,
templateFileInfo: new TemplateFileInfo({ filePath: templatePath })
});

// 4️⃣ Создать и отправить запрос на сборку
const request = new AssembleDocumentRequest({ assembleOptions });
const result = await assemblyApi.assembleDocument(request);

// 5️⃣ Сохранение полученного документа
const outputPath = path.join(__dirname, "GeneratedReport.pdf");
fs.writeFileSync(outputPath, result.body);

console.log("Отчёт сформирован успешно:", outputPath);

Ресурсы поддержки и обучения

GroupDocs.Assembly Cloud также предлагает SDK для других языков:

  РУССКИЙ