本文へスキップ

データを抽出

たくさんの文書から同じ項目を取り出し、JSON か CSV にします。

テキストがAIサービスへ送信されます

PDFそのものがアップロードされることはありません。テキストはブラウザーの中で抽出して画面に表示し、あなたが承認してから初めて送信されます。

このツールでできること

This reads a set of documents and returns one row each, carrying the fields you asked for. Text is extracted in your browser and sent to the AI provider you choose with your own key; the files themselves never leave your device. The output is a JSON array or a CSV, with a _file column so every row says which document it came from.

It exists for the batch: twenty supplier invoices that have to become twenty rows in a ledger, a month of receipts before an expense claim, bank statements you want opening and closing balances from, or a folder of ID documents whose numbers need typing into a system.

仕組み

  1. Drop up to twenty PDFs onto this page, then choose your provider and paste your API key.
  2. Pick a preset - invoice, receipt, ID document or bank statement - or choose your own fields and list the names you want, one per line.
  3. Leave the missing-fields toggle on. It is what makes an absent value come back empty instead of invented.
  4. Choose JSON or CSV, then press Extract. Each document is one request, and progress shows which one is running.
  5. Download the file. Every row has the same columns, in the order you asked for them, whether or not each document had them.

Leaving missing fields empty is the most important setting on this page, and it is on by default. Asked for an invoice number, a language model will produce one whether or not the document has one, and a plausible invented invoice number is far more damaging than a blank cell - it is wrong in a way nobody notices until a payment goes to the wrong place. With the setting on, the instruction is explicit: where a value is not clearly present, return nothing, and never estimate. Turn it off only when you want values the document implies but does not state.

Every row comes back with exactly the keys you asked for, in the order you asked for them, present in the document or not. Missing values become null in JSON and an empty cell in CSV. That is what makes the CSV open cleanly in a spreadsheet: rows of differing shapes make columns drift, and a total in one row ends up under a date in the next. If a model's answer cannot be parsed at all, that row is filled with blanks rather than aborting a twenty-file batch at file eleven.

Temperature is fixed at zero, because extraction is not a creative task and the same invoice should give the same answer twice. Numbers are requested as bare numbers, without currency symbols or thousands separators, and dates as ISO 8601 strings, so the CSV sorts and sums without a cleaning pass. The CSV is quoted to RFC 4180, which stops a supplier name with a comma in it from splitting a column.

The text arrives in reading order with the layout flattened, and that is a real limit on what can be pulled out. A total in the bottom-right corner of an invoice reads fine; a multi-column table of line items arrives as a stream of cells with nothing marking which column each belonged to. It is why the presets ask for header-level fields - totals, dates, parties - rather than line items. For a table you genuinely need as a table, PDF to Excel reconstructs the grid instead.

このツールにできないこと

  • The documents' text is sent to the AI provider you choose. The files themselves are not.
  • Line-item tables do not extract reliably, because the text arrives in reading order without column boundaries. Use PDF to Excel for a table you need as a table.
  • Even with missing fields left empty, a value can be read from the wrong place - a delivery date taken for an invoice date. Spot-check rows against the documents before using them.
  • A scanned PDF has no text to read. Run OCR a PDF over it first.

よくある質問

「見つからない項目は空にする」は何をしますか?
文書にはっきり書かれていない値は空で返すこと、そしてもっともらしい値をでっち上げるのは親切ではなく欠陥だということを、モデルに伝えます。既定でオンなのは、空のセルはすぐ気づける問題である一方、捏造された請求書番号は、ずっとあとになって発覚する問題だからです。文書が示唆しているだけで明記していない値が欲しいときにだけ、オフにしてください。
項目を自分で決められますか?
できます。プリセットを「自分で決めた項目」にして、名前をカンマか改行で区切って並べてください。1 行に 1 つが、あとから読み返しやすい形です。その名前は、入力したとおりに JSON のキーと CSV の見出しになるので、purchase_order_number のようなスネークケースの名前がよく合います。組み込みのプリセットも同じくただの項目リストで、請求書用は invoice_number から payment_terms まで 11 項目を要求します。
一度に何件処理できますか?
20 件までで、それぞれが 1 リクエストになり、1 件につき 1 行が出ます。文字数の上限は件数で分け合い、既定では 100,000 文字をファイル数で割った値です。取り分より長い文書は切られます。ある文書の答えが解釈できなかった場合、その行は空欄で埋められ、途中で失敗するのではなくバッチは続きます。
請求書はどこへ行きますか?
ファイルは端末に残ります。そのテキストはあなたが選んだプロバイダーへ、1 文書につき 1 リクエストずつ、あなたのブラウザがあなたのキーで送ります。その経路に CekPDF のサーバーはなく、CekPDF のアカウントもないので、ここに控えが残ることはありません。文書が個人情報を含む場合 — 身分証や銀行の明細は含みます — 効いてくるのはプロバイダー側の規約です。
取り出された値はどのくらい確かですか?
打ち込む手間を省ける程度には確かで、確認を省ける程度には確かではありません。きれいな請求書のヘッダー項目 — 番号・日付・合計 — は、たいてい正しく返ってきます。ずれるのは曖昧なところです。ページに日付が 2 つあってそのうち 1 つだけが請求日である場合、合計に見える小計、2 行に分かれた税額などです。温度は 0 なので、少なくとも実行ごとの答えは一貫します。

関連ツール