Многим разработчикам необходимо объединять несколько документов Word в Node.JS для создания консолидированных отчетов или пакетов. GroupDocs.Merger Cloud SDK for Node.js предоставляет мощный API, который обрабатывает слияние Word‑документов на стороне сервера без сложного кода работы с файлами. В этом руководстве вы увидите полную реализацию, эквивалентные вызовы cURL, шаги установки и рекомендации по лучшим практикам, чтобы быстро объединить ваши документы.
Объединение нескольких документов Word в Node.JS — полный пример кода
Этот пример демонстрирует, как объединить три файла DOCX в один документ, используя GroupDocs.Merger Cloud SDK for Node.js.
const GroupDocsMergerCloud = require("@groupdocs/merger-cloud");
// ==== Configuration ====
// Replace with your actual credentials
const clientId = "YOUR_CLIENT_ID";
const clientSecret = "YOUR_CLIENT_SECRET";
const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
const mergeApi = new GroupDocsMergerCloud.MergeApi(config);
// ==== Input / Output paths ====
const inputFiles = [
"documents/input1.docx",
"documents/input2.docx",
"documents/input3.docx"
];
const outputFile = "documents/combined_output.docx";
// ==== Build request ====
const documentEntries = inputFiles.map(path => {
return new GroupDocsMergerCloud.Models.DocumentEntry({
fileInfo: new GroupDocsMergerCloud.Models.FileInfo({
filePath: path
})
});
});
const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
documents: documentEntries,
outputPath: outputFile
});
// ==== Execute merge ====
(async () => {
try {
const result = await mergeApi.mergeDocuments(mergeRequest);
console.log(`Merge completed successfully. Output file: ${result.path}`);
} catch (error) {
console.error("Error during merging:", error);
}
})();
Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили пути к файлам (
input1.docx,combined_output.docx, и т.д.), чтобы они соответствовали фактическим расположениям, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если возникнут какие‑либо проблемы, обратитесь к официальной документации или свяжитесь с службой поддержки для получения помощи.
Объединение Word-документов через REST API с помощью cURL
Если вы предпочитаете чистый REST‑подход, ту же операцию слияния можно выполнить с помощью команд cURL. Ниже представлен краткий рабочий процесс, который аутентифицирует, загружает исходные файлы, выполняет слияние и скачивает результат.
1. Аутентификация и получение токена доступа
curl -X POST "https://api.groupdocs.cloud/v2.0/merger/authenticate" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
Ответ содержит access_token, используемый в последующих вызовах.
2. Загрузка исходных файлов
Повторите этот шаг для каждого файла DOCX, который вы хотите объединить.
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=documents/input1.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@path/to/input1.docx"
3. Выполнение операции слияния
curl -X POST "https://api.groupdocs.cloud/v2.0/merger/merge" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"documents": [
{"fileInfo": {"filePath": "documents/input1.docx"}},
{"fileInfo": {"filePath": "documents/input2.docx"}},
{"fileInfo": {"filePath": "documents/input3.docx"}}
],
"outputPath": "documents/combined_output.docx"
}'
API возвращает путь к объединённому файлу.
4. Скачивание объединённого документа
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=documents/combined_output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o combined_output.docx
Для получения более подробной информации о полезных нагрузках запросов и параметрах см. официальную документацию API.
Как работает объединение нескольких документов Word в Node.JS
SDK абстрагирует процесс слияния в несколько логических шагов:
- Создание конфигурации -
new GroupDocsMergerCloud.Configuration(clientId, clientSecret)создает контекст аутентификации. См. справочник класса в Справочник API.
const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
Экземпляр API -
new GroupDocsMergerCloud.MergeApi(config)предоставляет доступ к операциям слияния.const mergeApi = new GroupDocsMergerCloud.MergeApi(config);Document Entries - Каждый исходный файл оборачивается в
DocumentEntry, который содержитFileInfoс путем к файлу.
const documentEntries = inputFiles.map(path => {
return new GroupDocsMergerCloud.Models.DocumentEntry({
fileInfo: new GroupDocsMergerCloud.Models.FileInfo({ filePath: path })
});
});
- Merge Request -
MergeDocumentsRequestобъединяет записи и желаемый путь вывода.
const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
documents: documentEntries,
outputPath: outputFile
});
- Выполнение -
mergeApi.mergeDocuments(mergeRequest)отправляет запрос в облачный сервис. Промис разрешается объектом результата, содержащим путь к выходному файлу.
const result = await mergeApi.mergeDocuments(mergeRequest);
console.log(`Merge completed successfully. Output file: ${result.path}`);
Эти шаги вместе позволяют эффективно объединять несколько документов Word без работы с потоками низкого уровня.
Подготовка среды для GroupDocs.Merger
- Установите SDK
npm install groupdocs-merger-cloud
Пакет доступен на официальной странице загрузки.
Node.js Version - Убедитесь, что вы используете Node.js 12 или новее.
Настройка учетных данных - Замените
YOUR_CLIENT_IDиYOUR_CLIENT_SECRETв коде значениями из вашей учетной записи GroupDocs Cloud.Создать папку проекта - Поместите исходные файлы DOCX в подпапку
documents/, как показано в примере.
После выполнения этих шагов вы готовы запустить скрипт слияния или вызвать REST‑конечные точки.
Заключение
Объединение нескольких документов Word в Node.JS становится простым с помощью GroupDocs.Merger Cloud SDK for Node.js. SDK обрабатывает загрузку файлов, логику объединения и генерацию вывода, позволяя сосредоточиться на бизнес‑логике, а не на низкоуровневой работе с файлами. Не забудьте обеспечить наличие правильной лицензии для использования в продакшене; вы можете начать с временной лицензии и перейти на полную подписку по мере роста ваших потребностей. Начните объединять документы уже сегодня и оптимизируйте свои рабочие процессы с документами.
Часто задаваемые вопросы
Как объединить несколько документов Word в Node.JS с помощью SDK?
Используйте классMergeApiдля созданияMergeDocumentsRequest, в котором перечисляются каждый DOCX файл какDocumentEntry. SDK объединяет их в указанном порядке и сохраняет результат по заданному пути вывода.Можно ли объединять PDF-файлы с помощью того же SDK?
Да, Merger SDK поддерживает PDF, DOCX, ODT, и несколько других форматов. Просто измените расширения файлов в массивеinputFiles, и SDK выполнит конвертацию автоматически. Смотрите официальную документацию для получения подробностей о форматах.Каковы ограничения на количество документов, которые я могу объединить в одном запросе?
Облачный сервис накладывает ограничение по размеру, а не по количеству. Пока суммарный размер находится в пределах квоты вашего аккаунта, вы можете объединять десятки файлов. Для очень больших пакетов рекомендуется сначала загрузить файлы в хранилище GroupDocs и ссылаться на них по ID.Нужно ли беспокоиться о лицензировании для разработки и продакшна?
Для разработки и тестирования можно использовать временную лицензию, полученную со страницы страница временной лицензии. Для развертывания в продакшн необходимо приобрести полную лицензию, чтобы разблокировать неограниченное количество слияний и приоритетную поддержку.
