Một trang cho mỗi sheet: tự động chuyển đổi bảng tính sang PDF trong Java
Nếu bạn đã chán ngấy việc chuyển đổi bảng tính sang PDF một cách thủ công, bạn đã đến đúng nơi. Trong hướng dẫn này, bạn sẽ thấy cách GroupDocs.Conversion for Java có thể tự động chuyển đổi bảng tính đồng thời cung cấp cho bạn kiểm soát chi tiết—như chỉ tải các hàng bạn cần và tạo ra đầu ra PDF một trang cho mỗi sheet. Khi kết thúc, bạn sẽ hiểu cách:
- Chỉ định phạm vi ô khi tải workbook
- Cấu hình bộ chuyển đổi để mỗi sheet trở thành một trang PDF duy nhất
- Thiết lập dự án Java của bạn với thư viện GroupDocs.Conversion mới nhất
Hãy chuẩn bị môi trường trước khi chúng ta bắt đầu viết mã.
Câu trả lời nhanh
- “one page per sheet” có nghĩa là gì? Mỗi worksheet trong tệp Excel nguồn được hiển thị dưới dạng một trang duy nhất trong PDF kết quả.
- Thư viện nào thực hiện việc chuyển đổi?
GroupDocs.Conversioncho Java (phiên bản 25.2). - Tôi có cần giấy phép không? Bản dùng thử miễn phí đủ cho việc đánh giá; giấy phép tạm thời hoặc mua cần thiết cho môi trường sản xuất.
- Tôi có thể chuyển đổi bảng tính lớn một cách hiệu quả không? Có—bằng cách chỉ tải phạm vi cần thiết, bạn giảm việc sử dụng bộ nhớ và tăng tốc quá trình.
- Phiên bản Java nào được yêu cầu? JDK 8 hoặc mới hơn.
“one page per sheet” là gì?
One page per sheet có nghĩa là bộ chuyển đổi nén toàn bộ nội dung của mỗi worksheet vào một trang PDF duy nhất, bất kể sheet có bao nhiêu khu vực in. Điều này đảm bảo số lượng trang dự đoán được và rất phù hợp cho các báo cáo hoặc PDF dạng slide‑deck, nơi mỗi sheet nên tương ứng với một trang hiển thị.
Tại sao nên sử dụng GroupDocs.Conversion cho Java?
GroupDocs.Conversion cho Java là một động cơ chuyển đổi mạnh mẽ, hiệu suất cao. Nó hỗ trợ hơn 30 định dạng bảng tính (XLS, XLSX, CSV, ODS, v.v.) và có thể xử lý các tệp lên tới 500 MB mà không cần tải toàn bộ tài liệu vào bộ nhớ, nhờ kiến trúc streaming. API ngắn gọn: một vài lời gọi phương thức tạo ra các PDF sẵn sàng cho sản xuất, giữ nguyên bảng, biểu đồ và định dạng ô.
Yêu cầu trước
- Java Development Kit (JDK) 8+ đã được cài đặt
- Maven để quản lý phụ thuộc
- Một IDE như IntelliJ IDEA hoặc Eclipse
- Kiến thức cơ bản về Java và quen thuộc với cấu trúc dự án Maven
Cài đặt GroupDocs.Conversion cho Java
Cấu hình Maven
Thêm repository GroupDocs và phụ thuộc conversion vào file pom.xml của bạn:
File
pom.xmlphải chứa mục repository<groupId>com.groupdocs</groupId>và phụ thuộc<artifactId>groupdocs-conversion</artifactId>. Sau khi lưu file, chạymvn clean installđể tải thư viện.
Các bước lấy giấy phép
- Free trial – tải phiên bản dùng thử để kiểm tra các tính năng.
- Temporary license – yêu cầu giấy phép tạm thời để truy cập đầy đủ tính năng trong quá trình phát triển.
- Purchase – mua giấy phép từ GroupDocs website.
Sau khi thêm phụ thuộc, bạn có thể bắt đầu sử dụng API:
Converterlà lớp chính điều phối việc chuyển đổi tài liệu. Nhập góicom.groupdocs.conversion, tạo một thể hiệnConverter, và gọi các phương thức chuyển đổi phù hợp.
Cách tải bảng tính với một phạm vi cụ thể?
Tải một phạm vi cụ thể cho engine bỏ qua các hàng và cột ngoài khu vực đã định nghĩa, giúp tăng tốc chuyển đổi và giảm tiêu thụ bộ nhớ.
setConvertRange cấu hình việc chuyển đổi chỉ bao gồm một phạm vi ô cụ thể. Phương thức setConvertRange nhận một chuỗi phạm vi như "A10:C30" và giới hạn chuyển đổi chỉ trong các ô đó. Điều này đặc biệt hữu ích khi làm việc với tệp Excel lớn mà chỉ một phần dữ liệu là cần thiết cho đầu ra PDF.
Cách chuyển đổi bảng tính sang PDF với một trang cho mỗi sheet?
setOnePagePerSheet buộc mỗi worksheet được hiển thị trên một trang PDF duy nhất. Đặt tùy chọn setOnePagePerSheet(true) trên đối tượng cài đặt chuyển đổi. Cờ này buộc bộ chuyển đổi render mỗi worksheet lên một trang PDF, bất kể bố cục in gốc. Khi chuyển đổi chạy, engine sẽ duyệt qua mọi sheet trong workbook, áp dụng bộ lọc phạm vi (nếu có), và ghi mỗi sheet vào một trang riêng trong tài liệu PDF cuối cùng.
Ứng dụng thực tiễn
| Kịch bản | Cách tính năng hỗ trợ |
|---|---|
| Báo cáo tài chính | Chỉ tải các hàng chứa số liệu quý và tạo PDF một‑trang‑cho‑mỗi‑sheet sạch sẽ cho mỗi phòng ban. |
| Xuất bản học thuật | Chuyển đổi các sheet dữ liệu nghiên cứu, tập trung vào phạm vi liên quan, và đảm bảo mỗi sheet in trên một trang riêng để dễ trích dẫn. |
| Bài thuyết trình doanh nghiệp | Tạo PDF sẵn sàng cho bài thuyết trình, trong đó mỗi slide tương ứng với một worksheet, nhờ cài đặt một‑trang‑cho‑mỗi‑sheet. |
Các cân nhắc về hiệu năng
- Thu hẹp phạm vi chuyển đổi – sử dụng
setConvertRangeđể giới hạn các hàng/cột. - Giải phóng tài nguyên kịp thời – đóng các stream và để
Converterra khỏi phạm vi sau khi chuyển đổi. - Xử lý song song – đối với các công việc batch, chạy chuyển đổi trên các thread riêng để giữ UI phản hồi nhanh.
Câu hỏi thường gặp
Hỏi: Phiên bản Java tối thiểu cần thiết cho GroupDocs.Conversion là gì?
Đáp: JDK 8 hoặc cao hơn được khuyến nghị để đảm bảo tương thích đầy đủ với thư viện.
Hỏi: Tôi có thể chuyển đổi nhiều định dạng bảng tính cùng lúc không?
Đáp: Có, GroupDocs.Conversion hỗ trợ Excel, CSV, ODS và nhiều định dạng khác trong một lời gọi chuyển đổi duy nhất.
Hỏi: Làm thế nào để tôi có được giấy phép tạm thời để truy cập đầy đủ tính năng?
Đáp: Yêu cầu một giấy phép qua GroupDocs website.
Hỏi: Nếu bảng tính của tôi quá lớn để chuyển đổi trong bộ nhớ thì sao?
Đáp: Chỉ tải phạm vi cần thiết bằng setConvertRange và cân nhắc streaming tệp ra đĩa trong quá trình chuyển đổi.
Hỏi: Tôi có thể tích hợp GroupDocs.Conversion với các dịch vụ lưu trữ đám mây không?
Đáp: Có, bạn có thể đọc và ghi tới AWS S3, Azure Blob Storage, Google Cloud Storage, v.v., bằng cách sử dụng các stream I/O chuẩn của Java.
Tài nguyên
- Tài liệu
- Tham khảo API
- Tải GroupDocs.Conversion cho Java
- Mua giấy phép
- Tải bản dùng thử miễn phí
- Yêu cầu giấy phép tạm thời
- Diễn đàn hỗ trợ
Cập nhật lần cuối: 2026-08-14
Được kiểm tra với: GroupDocs.Conversion 25.2 for Java
Tác giả: GroupDocs
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/conversion/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion</artifactId>
<version>25.2</version>
</dependency>
</dependencies>
import com.groupdocs.conversion.Converter;
// Basic initialization code here...
import com.groupdocs.conversion.options.load.SpreadsheetLoadOptions;
public class FeatureLoadSpreadsheetWithRange {
public static void run() {
// Create load options for specifying a range of cells
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
// Specify the cell range (e.g., "10:30" means rows 10 to 30)
loadOptions.setConvertRange("10:30");
}
}
import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
public class FeatureConvertToPdfWithOnePagePerSheet {
public static void run() {
// Initialize load options with one-page-per-sheet setting
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.setOnePagePerSheet(true);
// Initialize the Converter object with your document path and load options
Converter converter = new Converter("YOUR_DOCUMENT_DIRECTORY/sample.xlsx", () -> loadOptions);
// Configure PDF conversion to produce one page per sheet
PdfConvertOptions pdfOptions = new PdfConvertOptions();
// Execute the conversion process
converter.convert("YOUR_OUTPUT_DIRECTORY/ConvertedSpreadsheet.pdf", pdfOptions);
}
}