在 Python 中提取 PDF 表格

在本文中,您將學習如何使用 Python 從 PDF 文件中提取表格。 PDF 是一種流行的數據共享格式,但是,從 PDF 中提取表格可能是一項具有挑戰性的任務。有幾個可用的 Python 庫可以幫助我們完成這項任務。儘管如此,仍可能缺乏準確的數據提取。

因此,讓我們了解如何在幾行代碼內從 PDF 中高精度地提取表格數據。在本教程結束時,您將能夠使用 Python 從 PDF 文件中提取表格並根據需要對其進行操作。

從 PDF 中提取表格的 Python 庫

要從 PDF 文件的表格中提取數據,我們將使用 Aspose.PDF for Python。它是一個功能強大的 Python 庫,具有一系列用於 PDF 處理和操作的功能。您可以使用以下 pip 命令安裝 Aspose.PDF for Python。

pip install aspose-pdf

在 Python 中從 PDF 中提取表格

以下是使用 Python 從 PDF 中的表格中提取數據的步驟。

  • 使用 Document 類加載 PDF 文件。
  • 獲取表所在的 PDF 頁面的引用。
  • 初始化 TableAbsorber 對象並使用 TableAbsorber.visit(Page) 方法訪問所選頁面。
  • 在循環中,遍歷 TableAbsorber.tablelist 集合中的表列表。
  • 對於每個表,遍歷 AbsorbedTable.rowlist 中的行集合。
  • 對於每個吸收的行,循環訪問 AbsorbedRow.celllist 中的單元格集合。
  • 最後,遍歷每個吸收的單元格的 textfragments 集合併打印文本。

以下代碼示例展示瞭如何使用 Python 從 PDF 表格中提取文本。

import aspose.pdf as pdf

# 加載PDF文件
pdfDocument = pdf.Document("input.pdf")

# 初始化 TableAbsorber 對象
tableAbsorber =  pdf.text.TableAbsorber()

# 解析第一頁上的所有表格
tableAbsorber.visit(pdfDocument.pages[1])

# 獲取第一個表的引用
absorbedTable = tableAbsorber.table_list[0]

# 遍歷表中的所有行
for pdfTableRow in absorbedTable.row_list:
    
    # 遍歷行中的所有列
   for pdfTableCell in pdfTableRow.cell_list:
        
        # 獲取文本片段
        textFragmentCollection = pdfTableCell.text_fragments
        
        # 遍歷文本片段
       for textFragment in textFragmentCollection:
            
            # 打印文本
            print(textFragment.text)
            

提取 PDF 表格的在線工具

您也可以試用我們的免費在線工具 PDF 表格提取器,它基於 Aspose.PDF for Python 從 PDF 文件中提取表格。

免費使用 Python PDF 庫

您可以獲得 免費臨時許可證 並不受任何限制地從 PDF 文件中的表格中提取數據。

探索 Python PDF 庫

您可以使用 文檔 探索更多關於 Python PDF 庫的信息。此外,您可以在我們的 論壇 上發布您的疑問。

結論

在本文中,您學習瞭如何使用 Python 從 PDF 中的表格中提取數據。您可以使用稍作修改的相同代碼從 PDF 的所有頁面中提取表格。同樣,您可以從頁面上的所有表或特定表中提取數據。只需在您的應用程序中安裝 Aspose.PDF for Python,即可快速輕鬆地從 PDF 文件中提取表格數據。

也可以看看