困りごとから探す
まず、PDFの中身と
表の状態を確認する。
同じように見えるPDFでも、文字情報の有無や結合セルの構造で、抽出後に必要な作業が変わります。
1. 文字の情報を持つPDFか
今回のT1には文字情報があり、画像化したT3にはありません。pdfplumberの公式説明も、画像スキャンよりコンピューターで生成されたPDFに適しているとしています。今回の結果ではT1の本文120セルが一致し、T3からは表を抽出できませんでした。

2. 分類や見出しが結合されていないか
分類が数行をまとめて示している表では、抽出後に分類の空欄ができる場合があります。数字だけでなく、行を分類する情報も確認します。今回のT2では6セルを補完する必要がありました。
補完前後の実例を見る →3. 番号と、計算する数字を区別する
「0012」が管理番号なら、先頭のゼロを残す必要があります。一方、「1,250」が金額なら、計算するために数値として扱います。今回のT4では文字列は一致しましたが、抽出直後はすべて文字列でした。
配布する「抽出直後のデータ.xlsx」は文字列を保持し、「正解データ.xlsx」は番号を文字列、金額等を数値、日付を日付型にしています。CSVを直接開いたときの自動解釈とは別の条件です。
自分の表で確認する順番
- 元PDFと出力の行数・列数を比べ、行の抜けや重複を確認する。
- 管理番号を数行確認し、先頭ゼロが値に含まれるか、表示形式で付いているかを分ける。
- 数量・金額が数値型か確認し、元資料と合計を照合する。合計が同じでも個別の誤りが相殺される場合があるため、重要な行も照合する。
- 分類の空欄は、元PDFの結合範囲を確認してから補完する。
- 確認前の出力を残し、修正は複製したファイルで行う。
この順番は今回の試験を踏まえた確認案です。所要時間や、あらゆる表での有効性を検証したものではありません。
有料ソフトの比較は、これから
初回に試したpdfplumberは、プログラムで使う無料のライブラリです。追加でAdobeオンラインのT1出力も照合しました。AcrobatやPDFelementと、完成までの操作・修正負担を比較するには追加の実測が必要です。
9月6日追加:AdobeオンラインのT1出力を取得・照合しました。値・型・表示形式の実測と配布資料を見る →