Python で PDF からテーブルを抽出する方法
Contents
[
Hide
]
PDF から表を抽出
PDF からの表の抽出は、レポート、データ移行、分析のワークフローに役立ちます。.NET 経由の Aspose.PDF for Python を使用すると、既存の PDF ドキュメントから表の内容を効率的に検出して読み取ることができます。
このコードスニペットは、既存の PDF ファイルを開き、各ページの表をスキャンして、セルテキストの内容を抽出します。以下を使用します。 TableAbsorber テーブルを検出し、行とセルを反復処理して抽出されたテキストを出力します。
- PDF を AP.Document オブジェクトにロードします。
- ページをループ処理します。
- テーブルアブソーバーオブジェクトを作成します。
- テーブルを反復処理します。
- 行とセルを繰り返し処理します。
- セルからテキストを抽出して印刷します。
次の使用例は、PDF を読み取り、すべてのテーブルを検索し、セルの内容を 1 行ずつ出力します。
import aspose.pdf as ap
from os import path
import sys
def extract(infile: str) -> None:
"""Extract and print all tables from a PDF file."""
document = ap.Document(infile)
for page in document.pages:
absorber = ap.text.TableAbsorber()
absorber.visit(page)
for table in absorber.table_list:
print("Table ----")
for row in table.row_list:
print("Row:")
row_txt = ""
for cell in row.cell_list:
cell_txt = ""
text_fragment_collection = cell.text_fragments
for fragment in text_fragment_collection:
for seg in fragment.segments:
cell_txt += seg.text
row_txt += " | "
row_txt += cell_txt
print(row_txt)