Kết hợp các tệp Word một cách lập trình là một yêu cầu thường gặp khi xây dựng các ứng dụng tập trung vào tài liệu, đặc biệt là để tạo báo cáo hoặc hợp nhất hợp đồng. GroupDocs.Merger Cloud SDK for Java cung cấp một thư viện đơn giản, dựa trên đám mây cho phép bạn hợp nhất các tệp DOCX mà không cần xử lý tệp ở mức độ thấp. Trong hướng dẫn này, bạn sẽ học cách kết hợp nhiều tài liệu Word trong Java, xem một ví dụ mã hoàn chỉnh, khám phá các lệnh cURL tương đương, và hiểu cách thiết lập cần thiết. Khi kết thúc, bạn sẽ sẵn sàng tích hợp việc hợp nhất tài liệu vào các dự án Java của mình.
Ví dụ Hoạt động Đầy đủ để Kết hợp Nhiều Tài liệu Word trong Java
Ví dụ này trình bày cách kết hợp nhiều tài liệu Word trong Java bằng cách sử dụng 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());
}
}
}
Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.
Hợp nhất các tệp Word qua REST API bằng cURL
Nếu bạn muốn sử dụng phương pháp REST thuần túy, cùng một thao tác hợp nhất có thể được thực hiện bằng các lệnh cURL. Các bước dưới đây cho thấy cách lấy token truy cập, tải lên các tệp nguồn, yêu cầu hợp nhất và tải xuống kết quả.
Xác thực và nhận token truy cập:
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"}'
Tải lên mỗi tệp DOCX lên bộ nhớ đám mây của bạn (thay thế YOUR_ACCESS_TOKEN bằng token từ bước trước):
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
Lặp lại lệnh tải lên cho input2.docx và input3.docx.
Tạo yêu cầu hợp nhất:
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"}
]
}'
Tải xuống tài liệu đã hợp nhất:
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/merged_output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o merged_output.docx
Để biết thêm chi tiết về các tham số yêu cầu, xem tài liệu API chính thức.
Hiểu quy trình kết hợp tài liệu Word trong Java
Dưới đây là phân tích từng bước của mã đã được trình bày ở trên.
Create an ApiClient -
new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")thiết lập kết nối tới dịch vụ đám mây GroupDocs.ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");Instantiate MergerApi -
new MergerApi(apiClient)cung cấp quyền truy cập vào các endpoint liên quan đến hợp nhất.MergerApi mergerApi = new MergerApi(apiClient);Prepare source file list - Mỗi đối tượng
FileInfochỉ tới một tệp DOCX được lưu trữ trên đám mây. Danh sách này được truyền vàoMergeOptions.List<FileInfo> sourceFiles = new ArrayList<>(); sourceFiles.add(new FileInfo().setFilePath("input1.docx"));Configure MergeOptions - Đặt đường dẫn đầu ra mong muốn và gắn danh sách các tệp nguồn.
MergeOptions mergeOptions = new MergeOptions(); mergeOptions.setOutputPath("merged_output.docx"); mergeOptions.setFileInfos(sourceFiles);Execute merge -
mergerApi.merge(mergeOptions)gửi yêu cầu và trả về mộtFileInfocho tài liệu đã hợp nhất.FileInfo result = mergerApi.merge(mergeOptions);
Để xem danh sách đầy đủ các thuộc tính có sẵn, hãy tham khảo tài liệu API.
Các yêu cầu trước và thiết lập cho GroupDocs.Merger Cloud SDK
Trước khi bạn có thể chạy mã, hãy thêm phụ thuộc Maven vào dự án của bạn và đảm bảo bạn có một tài khoản GroupDocs hợp lệ.
Thêm SDK vào pom.xml của bạn:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-merger-cloud</artifactId>
<version>25.11</version>
</dependency>
Tải xuống các tệp JAR và mã nguồn mới nhất từ trang tải xuống.
Bạn cũng sẽ cần Java 8 hoặc cao hơn và kết nối internet để thực hiện các cuộc gọi đám mây.
Tạo một tài khoản GroupDocs, lấy Client ID và Client Secret của bạn, và giữ chúng an toàn.
Kết luận
Việc hợp nhất các tệp DOCX một cách lập trình hiện đã trở nên đơn giản với GroupDocs.Merger Cloud SDK for Java. Mã mẫu và các đoạn cURL minh họa hai cách linh hoạt để kết hợp nhiều tài liệu Word trong Java, cho dù bạn thích sử dụng thư viện gốc hay gọi trực tiếp REST. Hãy nhớ cấu hình thông tin xác thực của bạn, xử lý các tệp lớn bằng cách streaming nếu cần, và kiểm tra hoạt động hợp nhất với các tài liệu đại diện. Đối với triển khai trong môi trường sản xuất, bạn sẽ cần một giấy phép trả phí; chi tiết giá cả có sẵn trên trang sản phẩm và bạn có thể yêu cầu giấy phép tạm thời để đánh giá từ trang giấy phép tạm thời.
Câu hỏi thường gặp
Làm thế nào để kết hợp nhiều tài liệu Word trong Java mà không cần viết mã xử lý tệp tùy chỉnh?
Sử dụng GroupDocs.Merger Cloud SDK for Java. SDK trừu tượng hoá tất cả các thao tác cấp thấp và cho phép bạn hợp nhất các tệp DOCX chỉ với một vài lời gọi API.Có thể hợp nhất các tài liệu được lưu trong các thư mục đám mây khác nhau không?
Có. Cung cấp đường dẫn tệp đầy đủ trên đám mây trong các đối tượngFileInfo, và thao tác hợp nhất sẽ lấy mỗi tệp từ vị trí của chúng trước khi kết hợp lại.Tôi nên làm gì nếu quá trình hợp nhất thất bại với ApiException?
Kiểm tra thông báo ngoại lệ để biết chi tiết như thiếu tệp hoặc vấn đề quyền truy cập. Đảm bảo các đường dẫn tệp đúng và tài khoản của bạn có quyền đọc/ghi đối với bộ nhớ. Tham khảo tài liệu chính thức để biết mã lỗi.Tôi có cần giấy phép riêng cho mỗi môi trường (phát triển, thử nghiệm, sản xuất) không?
Một giấy phép duy nhất bao phủ tất cả các môi trường, nhưng bạn phải tuân thủ các giới hạn sử dụng được định nghĩa trong thỏa thuận giấy phép của mình. Đối với việc thử nghiệm, bạn có thể sử dụng giấy phép tạm thời được liên kết ở trên.
