Trích xuất bảng từ PDF trong Java

Trích xuất bảng từ PDF trong Java

Gần đây, chúng tôi đã xuất bản một bài viết nói về cách trích xuất văn bản từ Tệp PDF trong Java theo chương trình. Trong bài đăng trên blog này, chúng ta sẽ tìm hiểu cách trích xuất bảng từ PDF trong Java bằng cách sử dụng Java API dành cho PDF này. Thư viện này cung cấp các tính năng mạnh mẽ để phân tích và thao tác các tài liệu PDF. Ngoài ra, bạn có thể tự động hóa việc trích xuất dữ liệu bằng cách xây dựng trình trích xuất bảng PDF bằng thư viện này. Tuy nhiên, hãy đảm bảo rằng bạn đã cài đặt Java trên máy cục bộ của mình trước khi tiếp tục.

Các điểm sau đây sẽ được đề cập trong hướng dẫn này:

Trình trích xuất bảng PDF - Cài đặt API

Quá trình cài đặt thư viện này rất đơn giản và dễ dàng. Trên thực tế, bạn có thể tải xuống API hoặc cài đặt nó bằng các cấu hình Maven sau.

 <repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <classifier>jdk17</classifier>
</dependency>

Trích xuất bảng từ PDF trong Java

Sau khi cài đặt API, bạn có thể bắt đầu viết mã để xây dựng trình trích xuất bảng PDF theo chương trình.

Bạn có thể làm theo các bước và đoạn mã được đề cập bên dưới:

  1. Tạo một đối tượng của lớp Document và tải tệp PDF nguồn.
  2. Khởi tạo một thể hiện của lớp TableAbsorber thực hiện tìm kiếm và cung cấp quyền truy cập vào kết quả tìm kiếm.
  3. Lặp lại các trang tài liệu PDF bằng cách gọi phương thức getPages.
  4. Gọi phương thức visit để trích xuất bảng từ trang.
  5. Gọi phương thức getTableList để trả về IList chỉ đọc chứa các bảng được tìm thấy.
  6. Lấy các hàng bằng cách gọi phương thức getRowList Lặp lại danh sách các hàng.
  7. Lặp lại danh sách ô bằng cách gọi phương thức getCellList.
  8. Gọi phương thức getTextFragments để lấy tập hợp các đối tượng TextFragment mô tả văn bản có trong ô.
  9. Gọi phương thức getSegments để lấy các phân đoạn văn bản cho TextFragment hiện tại.
  10. In kết quả.

Sao chép và dán đoạn mã sau vào tệp chính của bạn:

String filePath = "table.pdf";
// Tạo một đối tượng của lớp Tài liệu và tải tệp PDF nguồn 
Document pdfDocument = new Document(filePath);
// Khởi tạo một thể hiện của lớp TableAbsorber thực hiện tìm kiếm và cung cấp quyền truy cập vào kết quả tìm kiếm  
TableAbsorber absorber = new TableAbsorber();
// Lặp lại các trang tài liệu PDF bằng cách gọi phương thức getPages 
for (Page page : pdfDocument.getPages()) {
    // Gọi phương thức truy cập để trích xuất bảng từ trang 
        absorber.visit(page);
        // Gọi phương thức getTableList trả về IList chỉ đọc chứa các bảng được tìm thấy 
       for (AbsorbedTable table : absorber.getTableList()) {
                System.out.println("Table");
                // Lấy các hàng bằng cách gọi phương thức getRowList Lặp lại danh sách các hàng  
               for (AbsorbedRow row : table.getRowList()) {
                        // Lặp lại danh sách ô bằng cách gọi phương thức getCellList 
                       for (AbsorbedCell cell : row.getCellList()) {
                            // Gọi phương thức getTextFragments để lấy tập hợp các đối tượng TextFragment mô tả văn bản chứa trong ô 
                               for (TextFragment fragment : cell.getTextFragments()) {
                                        StringBuilder sb = new StringBuilder();
                                        // Gọi phương thức getSegments để lấy các phân đoạn văn bản cho TextFragment hiện tại. 
                                       for (TextSegment seg : fragment.getSegments())
                                                sb.append(seg.getText());
                                        System.out.print(sb.toString() + "|");
                                }
                        }
                        System.out.println();
                }
        }
}

Nhận giấy phép miễn phí

Bạn có thể tận dụng giấy phép tạm thời miễn phí để dùng thử API mà không bị giới hạn về đánh giá.

Tổng hợp

Điều này đưa chúng ta đến phần cuối của bài viết blog này. Bạn đã học cách trích xuất bảng từ PDF bằng Java theo chương trình. Hướng dẫn này sẽ thực sự giúp ích cho bạn nếu bạn đang muốn xây dựng trình trích xuất bảng PDF cho ứng dụng doanh nghiệp của mình. Hơn nữa, bạn có thể truy cập tài liệu để biết các tính năng khác.

Hơn nữa, chúng tôi khuyên bạn nên làm theo Hướng dẫn bắt đầu của chúng tôi.

Cuối cùng, conholdate.com đang viết bài blog mới. Vì vậy, vui lòng giữ liên lạc để cập nhật thông tin mới nhất.

Đặt một câu hỏi

Bạn có thể cho chúng tôi biết về các câu hỏi hoặc thắc mắc của bạn trên diễn đàn của chúng tôi.

Câu hỏi thường gặp

Tôi có thể trích xuất bảng từ PDF không?

Vui lòng truy cập liên kết này để biết các bước và đoạn mã trích xuất bảng từ tài liệu PDF theo chương trình

Xem thêm