許多開發人員需要在 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 參考。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 帳戶中的值。建立專案資料夾 - 將來源 DOCX 檔案放置於
documents/子資料夾中,如範例所示。
完成這些步驟後,您已準備好執行合併腳本或呼叫 REST 端點。
結論
將多個 Word 文件在 Node.JS 中合併變得簡單,只需使用 GroupDocs.Merger Cloud SDK for Node.js。該 SDK 處理文件上傳、合併邏輯和輸出生成,讓您專注於業務邏輯,而不是低層次的文件操作。請確保為生產環境獲取適當的許可證;您可以先使用 臨時許可證 並隨需求增長升級為完整訂閱。立即開始合併,簡化您的文件工作流程。
常見問題
如何在 Node.JS 中使用 SDK 合併多個 Word 文件?
使用MergeApi類別建立MergeDocumentsRequest,其中將每個 DOCX 文件列為DocumentEntry。SDK 會按照提供的順序合併它們,並將結果保存到指定的輸出路徑。是否可以使用相同的 SDK 合併 PDF?
是的,Merger SDK 支援 PDF、DOCX、ODT,以及其他多種格式。只需在inputFiles陣列中更改檔案副檔名,SDK 會自動處理轉換。請參閱 官方文件 以了解格式細節。什麼是單次請求中我可以合併的文件數量限制?
雲服務施加的是大小限制,而非嚴格的文件數量限制。只要合併後的總大小在您的帳戶配額範圍內,您就可以合併數十個文件。對於非常大的批次,建議先將文件上傳至 GroupDocs 存儲,然後通過 ID 進行引用。我需要擔心開發與生產環境的授權問題嗎?
開發和測試可以使用從臨時授權頁面獲得的臨時授權。對於生產部署,請購買完整授權以解鎖無限制合併和優先支援。
