许多开发人员需要在 Node.JS 中合并多个 Word 文档,以生成综合报告或包。 GroupDocs.Merger Cloud SDK for Node.js 提供了强大的 API,能够在服务器端处理 Word 合并,无需复杂的文件处理代码。 在本指南中,您将看到完整的实现示例、等效的 cURL 调用、安装步骤以及最佳实践技巧,帮助您快速合并文档。
在 Node.JS 中合并多个 Word 文档 - 完整代码示例
本示例演示如何使用 GroupDocs.Merger Cloud SDK for Node.js 将三个 DOCX 文件合并为一个文档。
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等)以匹配实际文件位置,验证所有必需的依赖项已正确安装,并在开发环境中彻底测试。如遇到任何问题,请参阅官方文档或联系支持团队获取帮助。
使用 cURL 通过 REST API 合并 Word 文档
如果您更喜欢纯 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 文档。
如何在 Node.JS 中合并多个 Word 文档
SDK 将合并过程抽象为几个逻辑步骤:
- 配置创建 -
new GroupDocsMergerCloud.Configuration(clientId, clientSecret)构建身份验证上下文。请参阅 API Reference 中的类参考。
const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
- API 实例 -
new GroupDocsMergerCloud.MergeApi(config)提供对合并操作的访问。
const mergeApi = new GroupDocsMergerCloud.MergeApi(config);
- 文档条目 - 每个源文件都被包装在一个
DocumentEntry中,该条目包含一个带有文件路径的FileInfo。
const documentEntries = inputFiles.map(path => {
return new GroupDocsMergerCloud.Models.DocumentEntry({
fileInfo: new GroupDocsMergerCloud.Models.FileInfo({ filePath: path })
});
});
合并请求 -
MergeDocumentsRequest将条目和所需的输出路径捆绑在一起。const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({ documents: documentEntries, outputPath: outputFile });执行 -
mergeApi.mergeDocuments(mergeRequest)将请求发送到云服务。Promise 解析后返回一个包含输出文件路径的结果对象。
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 版本 - 确保您正在运行 Node.js 12 或更高版本。
配置凭据 - 将代码中的
YOUR_CLIENT_ID和YOUR_CLIENT_SECRET替换为您 GroupDocs Cloud 帐户中的值。Create a Project Folder - 将源 DOCX 文件放置在
documents/子文件夹中,如示例所示。
完成这些步骤后,您可以运行合并脚本或调用 REST 端点。
结论
在 Node.JS 中合并多个 Word 文档变得简单,只需使用 GroupDocs.Merger Cloud SDK for Node.js。该 SDK 处理文件上传、合并逻辑和输出生成,让您可以专注于业务逻辑,而无需处理低层文件操作。请确保为生产环境获取合适的许可证;您可以先使用 临时许可证 然后随着需求增长升级为完整订阅。立即开始合并,简化文档工作流。
FAQs
如何在 Node.JS 中使用 SDK 合并多个 Word 文档?
使用MergeApi类创建一个MergeDocumentsRequest,其中列出每个 DOCX 文件作为DocumentEntry。SDK 按提供的顺序合并它们,并将结果保存到指定的输出路径。是否可以使用相同的 SDK 合并 PDF?
是的,Merger SDK 支持 PDF、DOCX、ODT 和其他多种格式。只需在inputFiles数组中更改文件扩展名,SDK 将自动处理转换。有关格式详情,请参阅官方文档。单次请求中可以合并的文档数量有限制吗?
云服务施加的是大小限制,而不是严格的文档计数。只要合并后的总大小在您账户配额范围内,您可以合并数十个文件。对于非常大的批次,建议先将文件上传到 GroupDocs 存储,然后通过 ID 引用它们。我需要担心开发与生产环境的授权问题吗?
开发和测试可以使用从临时授权页面获取的临时授权。对于生产部署,请购买完整授权以解锁无限合并和优先支持。
