Cách Chuyển Đổi PDF Sang Sổ Tính Excel Có Thể Chỉnh Sửa Trong Java
Hướng dẫn này chỉ ra cách biến một tệp PDF thành sổ làm việc mà bạn thực sự có thể chỉnh sửa, không chỉ là một bản xuất phẳng. Bạn sẽ chuyển đổi PDF sang XLSX bằng ExcelSaveOptions, tinh chỉnh việc xuất sao cho các bảng được bố trí gọn gàng trên một số lượng sheet hợp lý, và chuyển lại sổ làm việc đã chỉnh sửa sang PDF bằng ExcelLoadOptions.
Chuyển đổi PDF sang Sổ làm việc Excel Cơ bản
Document.save với SaveFormat.Xlsx thực hiện một chuyển đổi đơn giản: nội dung văn bản và dạng bảng trên mỗi trang được đặt vào một worksheet riêng.
import org.aspose.pdf.Document;
import org.aspose.pdf.SaveFormat;
try (Document doc = new Document("report.pdf")) {
doc.save("report.xlsx", SaveFormat.Xlsx); // SaveFormat.Excel is an alias
}Tinh chỉnh việc xuất để có bảng tính sạch hơn
Xuất một sheet cho mỗi trang thường không phải là điều người dùng bảng tính mong muốn. ExcelSaveOptions kiểm soát việc gộp worksheet, bố cục cột, và các heuristics phục hồi bảng cho các PDF không có cấu trúc bảng được gắn thẻ:
import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelSaveOptions;
try (Document doc = new Document("report.pdf")) {
ExcelSaveOptions options = new ExcelSaveOptions();
options.setFormat(ExcelSaveOptions.ExcelFormat.XLSX); // default
options.setMinimizeTheNumberOfWorksheets(true); // merge pages onto fewer sheets
options.setInsertBlankColumnAtFirst(false); // no leading spacer column
options.setUniformWorksheets(false); // allow per-sheet column widths
options.setStructuralHeuristics(true); // recover tables on untagged PDFs
options.setSuppressRunningHeadersFooters(true); // drop repeated page furniture
doc.save("report.xlsx", options);
}setMinimizeTheNumberOfWorksheets(true) là tùy chọn duy nhất thay đổi hình dạng đầu ra nhiều nhất: nếu không có nó, một báo cáo 20 trang sẽ tạo ra 20 worksheet.
Chuyển đổi Workbook Excel về PDF
Sau khi người đánh giá chỉnh sửa workbook, hãy đưa nó trở lại dạng PDF bằng cách tải nó bằng ExcelLoadOptions và lưu tài liệu đã tạo:
import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelLoadOptions;
try (Document doc = new Document("book.xlsx", new ExcelLoadOptions())) {
doc.save("book.pdf");
}