Багатьом розробникам потрібно об’єднувати кілька документів 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 абстрагує процес злиття в кілька логічних кроків:

  1. Створення конфігурації - new GroupDocsMergerCloud.Configuration(clientId, clientSecret) створює контекст автентифікації. Перегляньте довідку класу у API довідка.
const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
  1. Екземпляр API - new GroupDocsMergerCloud.MergeApi(config) забезпечує доступ до операцій злиття.

    const mergeApi = new GroupDocsMergerCloud.MergeApi(config);
    
  2. Записи документів - Кожен вихідний файл обгортається в DocumentEntry, який містить FileInfo з шляхом до файлу.

    const documentEntries = inputFiles.map(path => {
        return new GroupDocsMergerCloud.Models.DocumentEntry({
            fileInfo: new GroupDocsMergerCloud.Models.FileInfo({ filePath: path })
        });
    });
    
  3. Запит на об’єднання - MergeDocumentsRequest збирає записи та бажаний шлях виводу.

    const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
        documents: documentEntries,
        outputPath: outputFile
    });
    
  4. Виконання - mergeApi.mergeDocuments(mergeRequest) надсилає запит до хмарного сервісу. Проміс повертає об’єкт результату, що містить шлях до вихідного файлу.

    const result = await mergeApi.mergeDocuments(mergeRequest);
    console.log(`Merge completed successfully. Output file: ${result.path}`);
    

Ці кроки разом дозволяють ефективно об’єднувати кілька документів Word без необхідності працювати з низькорівневими файловими потоками.

Підготовка середовища для GroupDocs.Merger

  1. Встановіть SDK
npm install groupdocs-merger-cloud

Пакет доступний на офіційній сторінці завантаження.

  1. Версія Node.js - Переконайтеся, що ви працюєте з Node.js 12 або новішим.

  2. Налаштування облікових даних - Замініть YOUR_CLIENT_ID та YOUR_CLIENT_SECRET у коді значеннями зі свого облікового запису GroupDocs Cloud.

  3. Створіть папку проекту - Розмістіть вихідні файли 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 і посилатися на них за ідентифікатором.

  • Чи потрібно турбуватися про ліцензування для розробки та продакшн?
    Розробка та тестування можуть використовувати тимчасову ліцензію, отриману зі сторінки temporary license page. Для продакшн‑розгортань придбайте повну ліцензію, щоб розблокувати необмежені злиття та пріоритетну підтримку.

Читати далі