将 Word 文件以编程方式合并是构建面向文档的应用程序时的常见需求,尤其是在生成报告或整合合同的场景中。GroupDocs.Merger Cloud SDK for Java 提供了一个简单的云端库,能够在不处理底层文件操作的情况下合并 DOCX 文件。在本指南中,您将学习如何在 Java 中合并多个 Word 文档,查看完整的代码示例,探索等效的 cURL 调用,并了解所需的设置。完成后,您即可将文档合并功能集成到自己的 Java 项目中。
完整的 Java 示例:合并多个 Word 文档
此示例演示了如何在 Java 中使用 Merger API 合并多个 Word 文档。
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());
}
}
}
注意: 此代码示例演示了核心功能。在将其用于项目之前,请确保更新所有文件路径和配置值以匹配实际环境,验证已正确安装所有必需的依赖项,并在开发环境中彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。
使用 cURL 通过 REST API 合并 Word 文件
如果您更喜欢纯 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.docdocx 重复上传命令。
创建合并请求:
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 文档。
了解在 Java 中合并 Word 文档的过程
以下是对前面展示的代码的逐步解析。
- Create an ApiClient -
new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")建立与 GroupDocs 云服务的连接。ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET"); - Instantiate MergerApi -
new MergerApi(apiClient)提供对合并相关端点的访问。MergerApi mergerApi = new MergerApi(apiClient); - Prepare source file list - 每个
FileInfo对象指向云端存储的 DOCX 文件。该列表会传递给MergeOptions。List<FileInfo> sourceFiles = new ArrayList<>(); sourceFiles.add(new FileInfo().setFilePath("input1.docx")); - Configure MergeOptions - 设置所需的输出路径并附加源文件列表。
MergeOptions mergeOptions = new MergeOptions(); mergeOptions.setOutputPath("merged_output.docx"); mergeOptions.setFileInfos(sourceFiles); - Execute merge -
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,并妥善保管。
结论
使用 GroupDocs.Merger Cloud SDK for Java 以编程方式合并 DOCX 文件现在变得简单直观。示例代码和 cURL 片段展示了两种灵活的方式在 Java 中合并多个 Word 文档,无论您更喜欢使用本地库还是直接进行 REST 调用。请记得配置凭据,必要时通过流式处理来处理大文件,并使用具有代表性的文档测试合并操作。对于生产环境部署,您需要购买许可证;定价详情可在产品页面查看,您也可以从 临时许可证页面 请求临时许可证进行评估。
常见问题
如何在 Java 中合并多个 Word 文档而无需编写自定义文件‑处理代码?
使用 GroupDocs.Merger Cloud SDK for Java。该 SDK 抽象了所有低层操作,并允许您通过少量 API 调用合并 DOCX 文件。是否可以合并存储在不同云文件夹中的文档?
是的。请在FileInfo对象中提供完整的云文件路径,合并操作将在合并之前从各自的位置获取每个文件。如果合并因 ApiException 失败,我该怎么办?
检查异常消息以获取详细信息,例如缺少文件或权限问题。确保文件路径正确,并且您的账户对存储具有读/写访问权限。请查阅官方文档了解错误代码。我是否需要为每个环境(开发、预发布、生产)单独购买许可证?
单个许可证覆盖所有环境,但您必须遵守许可证协议中定义的使用限制。对于测试,您可以使用上面链接的临时许可证。
