Cách đọc bảng PDF trong Java

Hướng dẫn này cung cấp chi tiết về cách đọc bảng PDF trong Java và truy cập văn bản thuộc từng ô bên trong bảng mong muốn. Bạn sẽ có toàn quyền kiểm soát để tham chiếu đến một bảng cụ thể trong trang đích của PDF và phân tích cú pháp qua tất cả các hàng và ô để truy xuất dữ liệu. Để viết trình đọc bảng PDF bằng Java này, không cần công cụ hoặc phần mềm bên thứ ba nào khác.

Các bước để đọc bảng PDF trong Java

  1. Định cấu hình ứng dụng trình đọc bảng PDF của bạn để thêm Aspose.PDF từ kho lưu trữ Maven
  2. Tải tệp PDF mẫu có chứa một bảng trong đó bằng cách sử dụng đối tượng lớp Document
  3. Khởi tạo và khởi tạo đối tượng TableAbsorber để tìm nạp tất cả các bảng PDF từ trang PDF đã chọn
  4. Lặp lại tất cả các hàng trong bảng mong muốn
  5. Lặp lại tất cả các ô trong hàng mong muốn và tìm nạp tất cả các đoạn văn bản từ mỗi ô
  6. Hiển thị văn bản được tìm nạp từ ô

Các bước này giải thích cách sử dụng Bảng trích xuất Java từ PDF cùng với thông tin về các thư viện cần thiết sẽ được thêm vào dự án. Nó cũng cho biết thứ tự các thao tác để hoàn thành tác vụ như tải tệp PDF đầu tiên, sau đó truy cập một trang cụ thể và tìm nạp bảng mong muốn. Cuối cùng, phân tích qua tất cả các hàng và ô để lấy thông tin.

Mã để đọc bảng PDF trong Java

import com.aspose.pdf.License;
import com.aspose.pdf.AbsorbedCell;
import com.aspose.pdf.AbsorbedRow;
import com.aspose.pdf.AbsorbedTable;
import com.aspose.pdf.Document;
import com.aspose.pdf.TableAbsorber;
import com.aspose.pdf.TextFragmentCollection;
public class ReadPDFTableInJava {
public static void main(String[] args) throws Exception { // main function for reading PDF table data in ReadPDFTableInJava
// For avoiding the trial version limitation, load the Aspose.PDF license prior to reading table data
License licenseForHtmlToPdf = new License();
licenseForHtmlToPdf.setLicense("Aspose.Pdf.lic");
// Load a source PDF document which contains a table in it
Document pdfDocument = new Document("PdfWithTable.pdf");
// Instantiate the TableAbsorber object for PDF tables extraction
TableAbsorber tableAbsorber = new TableAbsorber();
// visit the table collection in the input PDF
tableAbsorber.visit(pdfDocument.getPages().get_Item(1));
// Access the desired table from the tables collection
AbsorbedTable absorbedTable = tableAbsorber.getTableList().get(0);
// Parse all the rows and get each row using the AbsorbedRow
for (AbsorbedRow pdfTableRow : absorbedTable.getRowList())
{
// Access each cell in the cells collection using AbsorbedCell
for (AbsorbedCell pdfTableCell : pdfTableRow.getCellList())
{
// Access each text fragment from the cell
TextFragmentCollection textFragmentCollection = pdfTableCell.getTextFragments();
// Access each text fragment from the fragments collection
for (com.aspose.pdf.TextFragment textFragment : textFragmentCollection)
{
// Display the table cell text
System.out.println(textFragment.getText());
}
}
}
System.out.println("Done");
}
}

Để trích xuất bảng từ PDF Mã Java được cung cấp ở đây sử dụng các lớp TableAbsorber và AbsorbedTable để xử lý các bảng trong PDF. Nó cũng sử dụng các lớp AbsorbedRow và AbsorbedCell để quản lý các hàng và cột trước khi sử dụng lớp TextFragment để tìm nạp dữ liệu ô. Ngoài ra, có nhiều lớp hấp thụ khác có sẵn cho các thành phần khác nhau trong tài liệu như phông chữ, đoạn văn, văn bản và đoạn văn bản.

Bài viết này đã mô tả rằng bằng cách sử dụng Java, việc trích xuất bảng PDF có thể được thực hiện trong một vài bước. Nếu bạn muốn tìm hiểu cách đọc văn bản và hình ảnh từ tệp PDF, hãy tham khảo bài viết trên cách đọc file PDF trong Java.

 Tiếng Việt