在構建以文件為中心的應用程式時,程式化合併 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.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 文檔。
了解在 Java 中合併 Word 文檔的過程
以下是對前面顯示的代碼的逐步解析。
- 建立 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>
從 download page 下載最新的 JAR 和原始碼。
您還需要 Java 8 或更高版本以及網際網路存取以進行雲端呼叫。
建立 GroupDocs 帳戶,取得您的 Client ID 和 Client Secret,並妥善保管。
結論
以程式方式合併 DOCX 檔案現在變得簡單,只需使用 GroupDocs.Merger Cloud SDK for Java。示例程式碼和 cURL 片段說明了兩種彈性的方式在 Java 中合併多個 Word 文件,無論您偏好原生函式庫還是直接的 REST 呼叫。請記得設定您的憑證,必要時以串流方式處理大型檔案,並使用具代表性的文件測試合併操作。對於正式上線的部署,您需要購買授權;授權價格資訊可在產品頁面上查閱,亦可從 臨時授權頁面 申請臨時授權以進行評估。
常見問題
如何在 Java 中合併多個 Word 文檔而無需編寫自訂檔案處理程式碼?
使用 GroupDocs.Merger Cloud SDK for Java。該 SDK 抽象了所有低層操作,讓您只需幾個 API 調用即可合併 DOCX 檔案。是否可以合併存儲在不同雲端資料夾中的文件?
是的。請在FileInfo物件中提供完整的雲端文件路徑,合併操作將在合併前從各自的位置抓取每個文件。如果合併因 ApiException 失敗,我該怎麼辦?
檢查例外訊息以獲取詳細資訊,例如缺少檔案或權限問題。確保檔案路徑正確,且您的帳戶對儲存具有讀寫存取權限。請參閱官方文件以了解錯誤代碼。我是否需要為每個環境(開發、測試、正式)單獨購買授權?
單一授權可覆蓋所有環境,但您必須遵守授權協議中定義的使用限制。測試時您可以使用上面提供的臨時授權。
