UltKit

PDFをJSONに変換

PDFから表を抜き出し、JSONのレコードとして取得できます。見出し行がキーになり、表の各行が1つのオブジェクトになるため、結果をそのままコードに読み込めます。

データ変換

またはCSV, TSV, TXT … ファイルをここにドロップ ·

1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除

出力

ファイルは当社のサーバーで処理され、30分後に削除されます。

このツールの使い方

  1. 1

    PDFをアップロード

    表を含む明細書、価格表、レポートなどのPDFを追加します。1回に最大20個まで、1ファイルあたり95 MBまで処理できます。

  2. 2

    JSONの形式を選ぶ

    JSONの構造は初期設定で「オブジェクトの配列」になっています。表に使える見出し行がない場合は、詳細設定で「配列の配列」に切り替えてください。

  3. 3

    変換して確認

    JSONに変換を押してファイルをダウンロードします。スクリプトで使う前に、PDFといくつかのレコードを見比べて確認してください。

PDFからJSONへの変換では、PDF内の表を読み取り、列見出しをキーにして各行をJSONオブジェクトとして書き出します。印刷用の文書に閉じ込められたデータを、コードで繰り返し処理できる形にします。

PDF自体は表を含んでいることを認識していない理由

PDFは、どこでもページが同じ見た目になるよう1993年にAdobeが導入した形式で、2008年にISO 32000-1として標準化された現在も、ページ単位で考える仕組みです。ファイルの内部では、表はx座標とy座標に描かれた文字の断片の集まりで、その間に数本の線が引かれているだけのことも多くあります。作成者がタグ付きPDF(PDF 1.4で追加された機能で、今も使わないツールが多くあります)を書き出していない限り、行も列も見出しも存在しません。

そのためJSONを取り出すには、表の格子を再構築する必要があります。同じベースラインにある断片を行としてまとめ、列を分ける縦の隙間を見つけ、一番上の行を名前として扱います。会計ソフト、表計算、レポートツールから書き出したPDFのように、各セルがきれいな線上に並んでいるものでは、うまく動作します。レイアウトソフトで手作業で描いた表、複数の列にまたがるセル、スキャンしたものは苦手です。

PDFをJSONに変換するのは誰で、何に使うのか

  1. 請求書や明細書の解析

    開発者が仕入先の請求書や銀行の明細書をPDFで受け取り、注文と照合するために明細行をレコードとして使いたい場合です。

  2. 公開されている参考表

    料金表、レートカード、価格表はPDFでしか公開されていないことがよくあります。JSONにすれば、アプリやWebサイトに再入力なしで読み込めます。

  3. テストデータとプロトタイプ

    プロダクトチームが、仕様書の表をテスト用のフィクスチャやモックAPIのデータにします。

PDFの請求書の表から作成したJSONの例

3列の表から作成したオブジェクトの配列
[
  {
    "Item": "Paper A4, 500 sheets",
    "Qty": 4,
    "Amount": 23.96
  },
  {
    "Item": "Toner cartridge",
    "Qty": 1,
    "Amount": 64
  }
]

JSONに変換できるPDFとできないPDF

from ↓ · to →JSONCSVXLSX
ソフトから書き出したPDFソフトから書き出したPDF to JSON: yesソフトから書き出したPDF to CSV: yesソフトから書き出したPDF to XLSX: yes
スキャンまたは撮影したPDF– スキャンまたは撮影したPDF to JSON: no– スキャンまたは撮影したPDF to CSV: no– スキャンまたは撮影したPDF to XLSX: no
supported not offeredスキャンしたページにはテキストレイヤーがありません。先に文字認識を行ってから変換してください。

PDF

Portable Document Format

PDF は1993年に Adobe が作成し、2008年にオープンな ISO 32000 標準になりました。テキスト、フォント、画像、レイアウトを固定するため、どの画面でもプリンターでも文書が同じ見た目になります。フォーム、署名、リンク、添付ファイル、検索可能なテキストを含められ、PDF/A という種類は長期保存に使われます。レイアウトが固定されているため編集しにくく、スキャンした PDF は OCR を適用しない限り画像だけです。すべてのブラウザと OS で開けます。

圧縮方式
–
透過
対応
アニメーション
非対応
登場時期
1993 · Adobe
PDF 変換

JSON

JavaScriptオブジェクト表記

JSONは構造化データ用の軽量なテキスト形式で、2000年代初めにDouglas Crockfordが広め、RFC 8259とECMA-404として標準化されました。オブジェクト、配列、文字列、数値、真偽値、nullを、シンプルで読みやすい構文で表現します。ウェブAPI、設定ファイル、ほぼあらゆるプログラミング言語でのアプリ間のデータ交換における標準的な形式です。コメント、日付、スキーマは標準では含まれず、深くネストした大きなファイルはビューアなしでは読みにくくなります。

圧縮方式
–
透過
–
アニメーション
–
登場時期
2001 · Douglas Crockford
JSON 変換

閲覧用に公開された文書のデータをプログラムで使いたいときに、PDFをJSONに変換します。たとえば請求書の明細行を経理スクリプトへ、公開されている料金表をアプリへ、レポートの数値をAPI呼び出しへ渡す場合です。

PDFのJSON変換に関するよくある質問

スキャンしたPDFをJSONに変換できますか?

直接はできません。スキャンしたPDFはページの画像で、変換ツールが読み取れる文字がないためです。先に画像文字起こしツールで文字認識を行い、認識した表を変換してください。

JSONのキーはどこから取られますか?

1行目を見出しにするがオンの間は、各表の1行目から取得します。たとえば「Amount」という列見出しは、すべてのレコードでキー「Amount」になります。1行目がすでにデータの場合は、この設定をオフにして「配列の配列」を選ぶと、各行が単純なリストとして出力されます。

€1.234,50のような金額が文字列のままなのはなぜですか?

RFC 8259で定義されるJSONの数値には、数字、小数点1つ、マイナス記号、指数のみ使えます。通貨記号や桁区切りがあると、値は文字列になります。コード側で記号を取り除くか、先にスプレッドシートで列を整えてください。

PDFの表の変換先はJSONとCSVのどちらが適していますか?

次に読むのがコードならJSONです。キーが各値に付き、後から入れ子の結果も扱えます。次に読むのがスプレッドシートやインポート画面ならCSVです。PDFをCSVに変換では、同じ行をプレーンな行として書き出します。

JSONにPDFのレイアウトは残りますか?

いいえ。フォント、色、改ページ、ロゴ、ページ上の表の位置は見た目の情報で、JSONには値しか含まれません。得られるのは、読む順序に並んだセルの内容です。