Об’єднання Word‑файлів програмно є частою вимогою при створенні документ‑орієнтованих застосунків, особливо для генерації звітів або консолідації контрактів. GroupDocs.Merger Cloud SDK for Java надає просту хмарну бібліотеку, яка дозволяє зливати файли DOCX без необхідності працювати з низькорівневим обробленням файлів. У цьому посібнику ви дізнаєтеся, як об’єднати кілька Word‑документів у Java, переглянете повний приклад коду, дослідите еквівалентні виклики cURL і зрозумієте необхідну налаштування. Після завершення ви будете готові інтегрувати злиття документів у свої власні Java‑проекти.

Повний робочий приклад об’єднання кількох документів Word у Java

Цей приклад демонструє, як об’єднати кілька документів Word у Java за допомогою API Merger.

import com.groupdocs.merger.cloud.client.ApiClient;
import com.groupdocs.merger.cloud.client.ApiException;
import com.groupdocs.merger.cloud.api.MergerApi;
import com.groupdocs.merger.cloud.model.FileInfo;
import com.groupdocs.merger.cloud.model.MergeOptions;
import java.util.ArrayList;
import java.util.List;

public class CombineWordDocuments {
    public static void main(String[] args) {
        // Initialize the API client with your credentials
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        MergerApi mergerApi = new MergerApi(apiClient);

try {
            // List of Word documents to combine
            List<FileInfo> sourceFiles = new ArrayList<>();
            sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input2.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input3.docx"));

// Configure merge options
            MergeOptions mergeOptions = new MergeOptions();
            mergeOptions.setOutputPath("merged_output.docx");
            mergeOptions.setFileInfos(sourceFiles);

// Execute the merge operation
            FileInfo result = mergerApi.merge(mergeOptions);

System.out.println("Merge completed successfully. Output file: " + result.getFilePath());
        } catch (ApiException e) {
            System.err.println("An error occurred while merging documents: " + e.getMessage());
        }
    }
}

Примітка: Цей приклад коду демонструє основну функціональність. Перш ніж використовувати його у вашому проєкті, переконайтеся, що оновили всі шляхи до файлів та значення конфігурації відповідно до вашого реального середовища, перевірте, що всі необхідні залежності встановлені правильно, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнетеся з будь‑якими проблемами, будь ласка, зверніться до офіційної документації або зв’яжіться з командою підтримки для отримання допомоги.

Об’єднання Word‑файлів через REST API за допомогою cURL

Якщо ви віддаєте перевагу чистому підходу REST, ту ж операцію об’єднання можна виконати за допомогою викликів cURL. Нижче наведено кроки, які показують, як отримати токен доступу, завантажити вихідні файли, запросити об’єднання та завантажити результат.

Аутентифікуйтеся та отримайте токен доступу:

curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

Завантажте кожен файл DOCX у ваше хмарне сховище (замініть YOUR_ACCESS_TOKEN токеном з попереднього кроку):

curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input1.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
     --data-binary @input1.docx

Повторіть команду завантаження для input2.docx та input3.docx.

Створіть запит на злиття:

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/merge" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "outputPath":"merged_output.docx",
           "fileInfos":[
               {"filePath":"input1.docx"},
               {"filePath":"input2.docx"},
               {"filePath":"input3.docx"}
           ]
         }'

Завантажте об’єднаний документ:

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/merged_output.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o merged_output.docx

Для отримання докладнішої інформації про параметри запиту, перегляньте офіційну документацію API.

Розуміння процесу комбінування документів Word у Java

Нижче наведено покроковий розбір коду, показаного раніше.

  1. Створіть ApiClient - new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET") встановлює з’єднання з хмарним сервісом GroupDocs.

    ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
    
  2. Створіть екземпляр MergerApi - new MergerApi(apiClient) надає доступ до кінцевих точок, пов’язаних з об’єднанням.

    MergerApi mergerApi = new MergerApi(apiClient);
    
  3. Підготуйте список вихідних файлів - Кожен об’єкт FileInfo вказує на файл DOCX, збережений у хмарі. Список передається в MergeOptions.

    List<FileInfo> sourceFiles = new ArrayList<>();
    sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
    
  4. Налаштуйте MergeOptions - Встановіть бажаний шлях виводу та прикріпіть список вихідних файлів.

    MergeOptions mergeOptions = new MergeOptions();
    mergeOptions.setOutputPath("merged_output.docx");
    mergeOptions.setFileInfos(sourceFiles);
    
  5. Виконайте об’єднання - mergerApi.merge(mergeOptions) надсилає запит і повертає FileInfo для об’єднаного документа.

    FileInfo result = mergerApi.merge(mergeOptions);
    

Для повного списку доступних властивостей зверніться до довідки API.

Необхідні вимоги та налаштування для GroupDocs.Merger Cloud SDK

Перш ніж запустити код, додайте залежність Maven до вашого проєкту та переконайтеся, що у вас є дійсний обліковий запис GroupDocs.

Додайте SDK у ваш pom.xml:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger-cloud</artifactId>
    <version>25.11</version>
</dependency>

Завантажте останні JAR‑файли та вихідний код зі сторінки завантаження.
Вам також потрібен Java 8 або новіша версія та доступ до інтернету для хмарних викликів.
Створіть обліковий запис GroupDocs, отримайте ваш Client ID та Client Secret, і зберігайте їх у безпеці.

Висновок

Об’єднання DOCX‑файлів програмно тепер просте завдяки GroupDocs.Merger Cloud SDK for Java. Приклад коду та фрагменти cURL демонструють два гнучкі способи комбінування кількох документів Word у Java, незалежно від того, чи ви віддаєте перевагу нативній бібліотеці чи прямим REST‑викликам. Пам’ятайте про налаштування облікових даних, обробку великих файлів за допомогою потокової передачі за потреби та тестування операції об’єднання на репрезентативних документах. Для розгортання у продакшн‑середовищі потрібна платна ліцензія; деталі ціноутворення доступні на сторінці продукту, а тимчасову ліцензію для оцінки можна запросити на temporary license page.

Питання та відповіді

  • Як об’єднати кілька документів Word у Java без написання власного коду обробки файлів?
    Використовуйте GroupDocs.Merger Cloud SDK for Java. SDK абстрагує всі низькорівневі операції та дозволяє об’єднувати файли DOCX за допомогою кількох викликів API.

  • Чи можливо об’єднати документи, які зберігаються в різних хмарних папках?
    Так. Вкажіть повні шляхи до файлів у хмарі в об’єктах FileInfo, і операція об’єднання завантажить кожен файл з його розташування перед їх комбінуванням.

  • Що робити, якщо злиття завершується помилкою ApiException?
    Перевірте повідомлення про виключення для отримання деталей, таких як відсутні файли або проблеми з дозволами. Переконайтеся, що шляхи до файлів правильні і що ваш обліковий запис має доступ читання/запису до сховища. Зверніться до офіційної документації для отримання кодів помилок.

  • Чи потрібна окрема ліцензія для кожного середовища (розробка, тестування, продакшн)?
    Одна ліцензія покриває всі середовища, але ви повинні дотримуватись обмежень використання, визначених у вашій ліцензійній угоді. Для тестування ви можете використати тимчасову ліцензію, зазначену вище.

Read More