Python で PDF からテーブルを抽出する方法

PDF から表を抽出

PDF からの表の抽出は、レポート、データ移行、分析のワークフローに役立ちます。.NET 経由の Aspose.PDF for Python を使用すると、既存の PDF ドキュメントから表の内容を効率的に検出して読み取ることができます。

このコードスニペットは、既存の PDF ファイルを開き、各ページの表をスキャンして、セルテキストの内容を抽出します。以下を使用します。 TableAbsorber テーブルを検出し、行とセルを反復処理して抽出されたテキストを出力します。

  1. PDF を AP.Document オブジェクトにロードします。
  2. ページをループ処理します。
  3. テーブルアブソーバーオブジェクトを作成します。
  4. テーブルを反復処理します。
  5. 行とセルを繰り返し処理します。
  6. セルからテキストを抽出して印刷します。

次の使用例は、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)

関連テーブルトピック