Python で PDF テーブルを読み取る方法

この簡単なチュートリアルでは、Python で PDF テーブルを読み取る方法 のプロセスについて説明します。開発環境を設定するためのすべての基本情報、アプリケーションを作成するための一連の手順、およびPython で PDF からテーブルを抽出するための実行可能なサンプル コードを示します。テーブルの各セルにアクセスし、その中のすべてのデータを取得するためのガイダンスが表示されます。

Python を使用して PDF からテーブル データを抽出する手順

  1. テーブルを読み取るために、環境を .NET 経由で Aspose.PDF for Python を使用 に設定します
  2. テーブルを持つ Document クラスを使用してソース PDF ファイルを読み込みます
  3. 読み込まれた PDF ファイルからテーブルを読み取るために、TableAbsorber クラス オブジェクトのインスタンスを作成します。
  4. ページを選択し、その中のすべてのテーブルを解析します
  5. 最初のテーブルにアクセスし、行と列を解析してセル内のすべての TextFragment インスタンスを取得します
  6. すべてのテキスト フラグメントを解析し、各フラグメントのテキストを表示します

これらの手順は、Python で PDF テーブルを読み取る プロセスを説明しています。このプロセスは、PDF ファイルをロードしてから、PDF ファイルからテーブルを読み取るメソッドを持つ TableAbsorber オブジェクトを作成することから始まります。特定のページですべてのテーブルが解析されると、最初のテーブルがコレクションからアクセスされ、次に各行と列が解析されて、データをフェッチするためのテキスト フラグメントのコレクションが取得されます。

Python を使用して PDF からテーブルを抽出するコード

import aspose.pdf as pdf
# Load the license
license = pdf.License()
license.set_license("Aspose.Total.lic")
# Load source PDF
pdfDocument = pdf.Document("PdfWithTable.pdf")
# Declare and initialize TableAbsorber object
tableAbsorber = pdf.text.TableAbsorber()
# Parse all the tables
tableAbsorber.visit(pdfDocument.pages[1])
# Get a reference to the first table
absorbedTable = tableAbsorber.table_list[0]
# Iterate through all the rows
for pdfTableRow in absorbedTable.row_list:
# Iterate through all the columns
for pdfTableCell in pdfTableRow.cell_list:
# Fetch the text fragments
textFragmentCollection = pdfTableCell.text_fragments
# Iterate through the text fragments
for textFragment in textFragmentCollection:
# Display the text
print(textFragment.text)
print("Data read successfully from the table")

上記のコードは、python read pdf table を使用してそのデータを取得して処理する方法を示しています。 TableAbsorber クラスで visit() メソッドを呼び出すと、個々のテーブルにアクセスするために使用される table_list 配列が埋められます。テーブル コレクション内の各テーブルには、列コレクションへのアクセスを提供する cell_list プロパティを持つ row_list プロパティがあり、最終的に text_fragments プロパティに到達して、特定のセル内のデータのコレクションを取得します。

この記事では、PDF からテーブルを抽出する Python を簡単に使用できることを教えてくれました。 PDF のブックマークを読み取るプロセスについて知りたい場合は、Python を使用して PDF のブックマークを読み取る方法 の記事を参照してください。

 日本語