Trích xuất các bảng PDF trong Python

Trong bài viết này, bạn sẽ học cách trích xuất bảng từ tệp PDF bằng Python. PDF là một định dạng phổ biến để chia sẻ dữ liệu, tuy nhiên, việc trích xuất các bảng từ PDF có thể là một nhiệm vụ khó khăn. Có một số thư viện Python có sẵn có thể giúp chúng tôi thực hiện nhiệm vụ này. Tuy nhiên, việc trích xuất dữ liệu chính xác có thể còn thiếu.

Vì vậy, hãy tìm hiểu cách trích xuất dữ liệu dạng bảng từ PDF với độ chính xác cao trong một vài dòng mã. Đến cuối hướng dẫn này, bạn sẽ có thể trích xuất các bảng từ tệp PDF bằng Python và thao tác với chúng khi cần.

Thư viện Python để trích xuất bảng từ PDF

Để trích xuất dữ liệu từ các bảng trong tệp PDF, chúng tôi sẽ sử dụng Aspose.PDF for Python. Nó là một thư viện Python mạnh mẽ với rất nhiều tính năng để xử lý và thao tác PDF. Bạn có thể cài đặt Aspose.PDF for Python bằng lệnh pip sau.

pip install aspose-pdf

Trích xuất một bảng từ PDF bằng Python

Sau đây là các bước để trích xuất dữ liệu từ các bảng trong PDF bằng Python.

  • Tải tệp PDF bằng lớp Tài liệu.
  • Nhận tài liệu tham khảo của trang trong PDF nơi đặt bảng.
  • Khởi tạo đối tượng TableAbsorber và truy cập trang đã chọn bằng phương thức TableAbsorber.visit(Page).
  • Trong một vòng lặp, lặp qua danh sách các bảng trong bộ sưu tập TableAbsorber.tablelist.
  • Đối với mỗi bảng, lặp qua tập hợp các hàng trong AbsorbedTable.rowlist.
  • Đối với mỗi hàng được hấp thụ, lặp qua bộ sưu tập các ô trong AbsorbedRow.celllist.
  • Cuối cùng, lặp qua bộ sưu tập các đoạn văn bản của từng ô được hấp thụ và in văn bản.

Mẫu mã sau đây cho biết cách trích xuất văn bản từ bảng PDF bằng Python.

import aspose.pdf as pdf

# Tải tệp PDF
pdfDocument = pdf.Document("input.pdf")

# Khởi tạo đối tượng TableAbsorber
tableAbsorber =  pdf.text.TableAbsorber()

# Phân tích tất cả các bảng trên trang đầu tiên
tableAbsorber.visit(pdfDocument.pages[1])

# Nhận một tài liệu tham khảo của bảng đầu tiên
absorbedTable = tableAbsorber.table_list[0]

# Lặp qua tất cả các hàng trong bảng
for pdfTableRow in absorbedTable.row_list:
    
    # Lặp qua tất cả các cột trong hàng
   for pdfTableCell in pdfTableRow.cell_list:
        
        # Tìm nạp các đoạn văn bản
        textFragmentCollection = pdfTableCell.text_fragments
        
        # Lặp lại qua các đoạn văn bản
       for textFragment in textFragmentCollection:
            
            # In văn bản
            print(textFragment.text)
            

Công cụ trực tuyến để trích xuất bảng PDF

Bạn cũng có thể dùng thử công cụ trực tuyến miễn phí của chúng tôi, Trình trích xuất bảng PDF, để trích xuất các bảng từ tệp PDF dựa trên Aspose.PDF for Python.

Sử dụng Thư viện Python PDF miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí và trích xuất dữ liệu từ các bảng trong tệp PDF mà không có bất kỳ giới hạn nào.

Khám phá thư viện Python PDF

Bạn có thể khám phá thêm về thư viện Python PDF bằng cách sử dụng tài liệu. Ngoài ra, bạn có thể đăng truy vấn của mình trên diễn đàn của chúng tôi.

Phần kết luận

Trong bài viết này, bạn đã học cách trích xuất dữ liệu từ các bảng trong PDF bằng Python. Bạn có thể sử dụng cùng một mã với các sửa đổi nhỏ để trích xuất các bảng từ tất cả các trang trong PDF. Tương tự, bạn có thể trích xuất dữ liệu từ tất cả các bảng hoặc một bảng cụ thể trên một trang. Chỉ cần cài đặt Aspose.PDF for Python trong ứng dụng của bạn và trải nghiệm một cách nhanh chóng và dễ dàng để trích xuất dữ liệu dạng bảng từ các tệp PDF.

Xem thêm