Комбинирование файлов Word программно является частой задачей при построении приложений, ориентированных на документы, особенно при генерации отчетов или консолидации контрактов. GroupDocs.Merger Cloud SDK for Java предоставляет простую облачную библиотеку, позволяющую объединять файлы DOCX без работы с низкоуровневой обработкой файлов. В этом руководстве вы узнаете, как объединять несколько документов Word в Java, увидите полный пример кода, изучите эквивалентные вызовы cURL и поймёте необходимые настройки. К концу вы будете готовы интегрировать объединение документов в свои Java‑проекты.
Полный рабочий пример объединения нескольких документов Word в Java
Этот пример демонстрирует, как объединить несколько документов Word в Java с помощью Merger API.
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
Ниже приведён пошаговый разбор кода, показанного ранее.
Создать ApiClient –
new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")устанавливает соединение с облачным сервисом GroupDocs.ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");Создать экземпляр MergerApi –
new MergerApi(apiClient)дает доступ к эндпоинтам, связанным с объединением.MergerApi mergerApi = new MergerApi(apiClient);Подготовить список исходных файлов – Каждый объект
FileInfoуказывает на DOCX‑файл, хранящийся в облаке. Список передаётся вMergeOptions.List<FileInfo> sourceFiles = new ArrayList<>(); sourceFiles.add(new FileInfo().setFilePath("input1.docx"));Настроить MergeOptions – Установите желаемый путь вывода и прикрепите список исходных файлов.
MergeOptions mergeOptions = new MergeOptions(); mergeOptions.setOutputPath("merged_output.docx"); mergeOptions.setFileInfos(sourceFiles);Выполнить объединение –
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. Не забудьте настроить свои учетные данные, при необходимости обрабатывать большие файлы с помощью потоковой передачи и протестировать операцию объединения на репрезентативных документах. Для развертывания в продакшн вам понадобится платная лицензия; детали ценообразования доступны на странице продукта, а также вы можете запросить временную лицензию для оценки на странице временной лицензии.
FAQs
Как объединить несколько документов Word в Java без написания собственного кода для работы с файлами?
Используйте GroupDocs.Merger Cloud SDK for Java. SDK абстрагирует все низкоуровневые операции и позволяет объединять файлы DOCX с помощью нескольких вызовов API.Можно ли объединять документы, хранящиеся в разных облачных папках?
Да. Укажите полные пути к файлам в облаке в объектахFileInfo, и операция слияния получит каждый файл из его местоположения перед объединением.Что делать, если слияние завершилось неудачей с ApiException?
Проверьте сообщение исключения для получения деталей, таких как отсутствие файлов или проблемы с разрешениями. Убедитесь, что пути к файлам правильные и что ваша учетная запись имеет права чтения/записи к хранилищу. Обратитесь к официальной документации для получения кодов ошибок.Нужна ли отдельная лицензия для каждой среды (development, staging, production)?
Одна лицензия покрывает все среды, но вы должны соблюдать ограничения использования, определённые в вашем лицензионном соглашении. Для тестирования вы можете использовать временную лицензию, указанную выше.
