Python で PDF テーブルを抽出する

この記事では、Python を使用して PDF ファイルからテーブルを抽出する方法を学習します。 PDF はデータを共有するための一般的な形式ですが、PDF からテーブルを抽出するのは困難な作業になる場合があります。このタスクに役立つ利用可能な Python ライブラリがいくつかあります。それでも、データの正確な抽出が欠けている可能性があります。

それでは、数行のコードで PDF から表形式のデータを高精度で抽出する方法を見てみましょう。このチュートリアルを終了すると、Python を使用して PDF ファイルから表を抽出し、必要に応じて操作できるようになります。

PDF からテーブルを抽出する Python ライブラリ

PDF ファイルのテーブルからデータを抽出するには、Aspose.PDF for Python を使用します。これは、PDF の処理と操作のための多数の機能を備えた強力な Python ライブラリです。次の 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 テーブルを抽出するオンライン ツール

Aspose.PDF for Python に基づく無料のオンライン ツール PDF テーブル エクストラクタ を試して、PDF ファイルからテーブルを抽出することもできます。

Python PDF ライブラリを無料で使用する

無料の一時ライセンス を取得して、PDF ファイルのテーブルから制限なくデータを抽出できます。

Python PDF ライブラリを調べる

ドキュメント を使用して、Python PDF ライブラリについて詳しく調べることができます。また、フォーラム に質問を投稿することもできます。

結論

この記事では、Python を使用して PDF のテーブルからデータを抽出する方法を学習しました。少し変更を加えた同じコードを使用して、PDF 内のすべてのページから表を抽出できます。同様に、ページ上のすべてのテーブルまたは特定のテーブルからデータを抽出できます。アプリケーションに Aspose.PDF for Python をインストールするだけで、PDF ファイルから表形式のデータをすばやく簡単に抽出できます。

関連項目