PDF表をCSVに変換

PDF表をCSVに変換

テキストを含むPDFを選択

PDFをサーバーへ送信せず、シンプルなテキスト表をCSVまたはTSVに変換できます。ブラウザが表示位置に基づいてテキスト断片をまとめ、複数行に繰り返し現れる列位置を探します。複雑なPDFレイアウトを完全な行と列に戻せる保証はないため、ダウンロード前に検出された表を必ず確認してください。

PDFの表をCSVとして抽出する方法

  1. 1

    テキストを含むPDFを選ぶ

    20 MiB、150ページ以内のPDFを選択します。ページ画像だけのスキャンPDFは先にOCR処理が必要です。

  2. 2

    ブラウザで表を検出する

    ページ回転とCropBoxを含む表示座標を使い、繰り返される行と列の位置を探します。

  3. 3

    内容と出力設定を確認する

    必要な表を選び、補われた空セルを確認して、カンマ・セミコロン・タブ、UTF-8マーカー、数式保護を設定します。

  4. 4

    選択した表を保存する

    各表を個別のCSVまたはTSVとしてローカルに保存します。ページをまたぐ表は自動結合されません。

検出できることと、推測できないこと

PDFは通常、行名や列名を持つ表ではなく、座標付きのテキスト断片として内容を保存します。このツールは同じ表示行にある断片をまとめ、複数の行で繰り返される列位置を残します。規則的な表が同じページに複数あれば別々に検出でき、パターンが明確な場合は1列の本文を除外します。

表示座標の計算にはページ回転と位置がずれたCropBoxも含まれます。右から左へ書く文字が中心の行では、PDFのテキストレイヤーが示す方向に列を並べます。ただし、これらの処理ですべてのレイアウトを復元できるわけではありません。

PDFのレイアウト 想定される結果 確認する点
同じ列が繰り返される整った書き出し 最も良い結果になりやすい 見出し、小数記号、空欄
規則的な行の一部だけ値がない 推定列に空セルを補う 正しい列が空いているか
結合セルや折り返し文字 分割、ずれ、結合が起こり得る プレビューをPDFと照合
1ページに複数の規則的な表 別々に検出される場合がある 必要な表だけを選択
スキャンされたページ画像 表を検出できない 先にOCRを実行

20 MiBと150ページの上限に加え、1ページ当たり10万個のテキスト断片または25万文字、文書全体で100万断片または500万文字という安全上限があります。そのため、細かく分断されたPDFはファイルサイズとページ数が上限未満でも停止する場合があります。

CSV、TSVと表計算ソフトの安全性

区切り文字はカンマ、セミコロン、タブから選べます。タブ区切りはTSVで保存されます。行末はCRLFです。選択した区切り文字、二重引用符、復帰、改行を含むフィールドは二重引用符で囲み、フィールド内の二重引用符は2つ重ねます。RFC 4180に記載された一般的な方式を、選択した区切り文字に合わせたものです。

数式保護は初期状態でオンです。先頭の空白を除いたセルが =+-@ で始まる場合、対応する全角記号を含め、表計算ソフトで文字列として扱われやすいようアポストロフィを加えます。この接頭辞によってセルの値は変わります。保護をオフにすると抽出文字をそのまま残せますが、信頼できないPDF由来の数式に見える内容を表計算ソフトで開くのは危険です。OWASPのCSV Injection解説が示すとおり、すべての表計算ソフトや再保存操作に共通する完全な対策はありません。

任意のUTF-8マーカーは、日本語などの文字を一部の表計算ソフトに認識させる助けになります。会計、レポート、自動取り込みに使う前に必ず内容を確認してください。

ブラウザ内だけの作業データ

PDF、検出した表、設定はこのブラウザ内に留まります。3段階の画面移動を続けられるよう、容量を制限したローカルストレージに最長30分保存されます。ダウンロードもローカルで作成され、ツールからアップロードされるものはありません。最初からやり直すと現在の作業は削除され、ブラウザの保存方針やプライベートモードによっては早く消える場合もあります。

よくある質問

いいえ。PDFの読み取り、表の検出、CSVまたはTSVの作成はブラウザ内で行われます。画面間で続けられるよう作業データは最長30分ローカル保存され、ダウンロードもローカルで作成されます。

ページ画像だけのPDFには使えません。抽出にはPDFのテキストレイヤーと文字位置が必要です。先にOCRを実行し、生成されたテキスト付きPDFを使用してください。

カンマ、セミコロン、タブを選べます。行末はCRLFです。区切り文字、二重引用符、復帰、改行を含むフィールドは二重引用符で囲み、内部の二重引用符は重ねます。タブ区切りは拡張子.tsvです。

先頭の空白を除いて =、+、-、@ で始まるセルにアポストロフィを加えます。初期状態でオンであり、該当する値は変わります。元の文字列を残す必要があり、PDFを信頼できる場合だけオフにしてください。

実際の表セルではなく、繰り返される文字位置から推定するためです。折り返し、結合セル、特殊な間隔、文字方向の混在、装飾的なレイアウトで値が分割または移動することがあります。回転とCropBoxは補正しますが、必ず元PDFと照合してください。

同じページにある複数の規則的な表は、別々に検出して選べます。選択した表はそれぞれ別ファイルになります。次のページへ続く表は結合されません。

関連ツール