web-dev-qa-db-ja.com

Tabulaはエリア座標でテーブルを抽出します

座標を指定することにより、PDFドキュメントからテーブルを抽出するオプションが提供されます。 Windowsユーザーの場合、座標を取得するには、PDFファイルをTabulaWebページにアップロードし、座標を含むスクリプトをエクスポートしてから、座標をコードに入力する必要があります。 Macユーザーの場合は、プレビューアプリと作物インスペクターを使用するだけです。これをWindowsユーザーに提供するサードパーティのプログラムやプラグインがあるかどうか疑問に思っていますか?これは、次の状況で便利だと思います。

  1. インターネットにアクセスできないとき。
  2. TabulaのWebページから作成された不正確な座標を経験したため、プレビューアプリの方が正確になると思います。

誰かが私にそのようなものを見つけることができる場所を教えてくれればありがたいです。どうもありがとう。

7
Eric Choi

Tabulaでは、領域をPDF単位で指定する必要があります。これは、1/72インチと定義されています。AcrobatReaderDCを使用している場合は、測定ツールを使用して、その読み取り値に72を掛けることができます。

Tabulaでは、領域をtopleftbottomおよびright距離。それらを取得するには、ページのtopからテーブルの先頭までの距離などを測定できます。

enter image description here

9
manuel

私は同じ問題を抱えていました、コードはエリアコールアウトを無視しているようでした。コマンドラインに「guess = False」を含めることで修正しました。そのように(私はリビジョン1.2.1を使用していることに注意してください):

df = tabula.read_pdf(file_folder + file_name, 
                     guess=False, pages=1, stream=True , encoding="utf-8", 
                     area = (200.8125,64.6425,352.2825,496.1025), 
                     columns = (65.3,196.86,294.96,351.81,388.21,429.77))
2
Steve Olsen

Tabulaは、座標データを「ポイント」の形式で理解できます。

Windowsでは、Adobe Acrobat DCおよびAcrobatReaderDCを使用してエリア座標を測定できます。

adobeAcrobatをお持ちの場合DC-ツール>>編集PDF >>エリアを選択し、Enterキーを押します>>単位をポイントに変更

Top               100       pt = A
Left              50        pt = B
Cropped page size 370 x 225 pt = C x D

adobe Acrobat DCまたはAcrobatReaderDC-編集>>設定>>単位>>ページ単位をポイントに変更>> OK >>ツール>>測定を使用している場合

Top           = A = 100
Left          = B = 50
Areas  Width  = C = 370
Areas  Length = D = 225

あなたはこの計算をしなければなりません

area=[A,B,A+D,B+C]
area=[100,50,100+225,50+370]

コードで

df=read_pdf(folder,area=[[100,50,325,420]] ,output_format="xlsx")
0
user7249480

リーダーは、PDF作成者が許可した場合にのみ測定を許可します。代わりにこれを見つけました: https://graphicdesign.stackexchange.com/a/81666

簡単な手順:

  1. SumatraPDFをダウンロードしてください。 Zipとしても利用でき、インストールは必要ありません。
  2. SumatraリーダーでPDFを開きます。
  3. 'm'を押します-これは左上隅にカーソル位置を表示します。
  4. ページにはオプション-p、エリアには-aを指定して表を使用します。 (上、左、下、右)
0
Deepak Garud