VLM Powered OCR

混在したPDF、スキャン、スクリーンショットを、指定した列を持つ1つのスプレッドシートに変換するAIドキュメントパーサー

文書パーサーの本当の仕事はテキストを読むことではなく、各テキストが何であるか(ラベル、値、表のセル、注記)を判断することです。従来のパーサーでは、そうした判断をルールとして記述する必要があり、レイアウトが変わった日には壊れてしまいます。このパーサーは人が読むように構造を読み取り、選択した列で1ドキュメントにつき1行を出力します。

Enterprise-grade security · TLS 1.3 encrypted

PDF&スキャン
スクリーンショット
XLSX/CSV/JSON
バッチ処理

文書パーサーがファイルから抽出できるもの

必要な列名を入力するだけで、AIは値の位置ではなく意味を理解して、どのページからでも各値を探し出します。以下は、混在した文書の山からPDFパーサーで抽出したいとビジネスユーザーが最もよく挙げる項目です。

Reference Number
Document Date
Vendor or Sender Name
Total Amount
Tax Amount
Currency
Due Date
Line Items
Contact Email
Phone Number
Billing Address
Account / PO Number

これは規定のリストではありません。列名はあなたが決めるため、文書に含まれるあらゆる項目が同じように扱えます。配送追跡コード、契約更新日、検査結果など何でも構いません。ページに書かれている値なら、列をそこに向けるだけです。

文書パースの難しさは読み取りではなく、何が何であるかの判断にある

光学文字認識は何年も前に読み取り問題を解決しました。ピクセルを文字に変えるのは解決済みの汎用ステップです。パースはその上の層であり、実際の作業は認識ではなく判断です。どのテキストがラベルで、どれがその値なのか。表はどこで終わり、文章はどこから始まるのか。ページ上のどの合計が総合計なのか。テンプレートツールはその判断をルール作成としてあなたに委ねます。開発者もコードで同じ負担を感じています。最近のr/SaaSスレッドのトップ投稿のタイトルは「PDFをパースする正規表現を書くのに疲れ果てて、型安全なJSONを返すだけのAPIを作った」で、この読者層のもう半分がどう生きているかを物語っています。

課題

01 位置ベースの解析はテキストを誤った順序で読み、ラベルと値の関係を失います

ほとんどのパーサーはテキストを読み取り順(上から下、左から右)で抽出します。「請求日」というラベルがヘッダーにあり、その値が視覚的に2つ離れた領域にあるページでは、パーサーは無関係な2つの文字列として認識します。位置ベースの抽出は複数列レイアウトも混線させ、右列のテーブルが左列の文章と交互に混ざってしまいます。テキストはすべて存在していても、それをデータたらしめる関係性が失われ、下流のすべてのフィールドで手作業の修正が必要になります。

02 正規表現とテンプレートのルールは、レイアウト変更のたびにメンテナンス作業を生みます

古典的な解決策はルールを書くことです。アンカーキーワード、固定座標、あるいは1つのレイアウトに合わせた正規表現パターンなどです。送信者がレターヘッドを更新したり、スキャンがわずかに回転して届いたり、新しい取引先がアンカーに一致しないフォントを使うまでは機能します。その後ルールは静かに失敗し、スプレッドシートの行が空で返ってきて初めて誰かが気づきます。多くのソースからドキュメントを解析するチームは、レイアウトごとにルールセットを維持することになり、解析ツールはいつの間にか副業のようになります。開発者側でも同じパターンが繰り返されます。正規表現パイプラインは最初のフォーマット変更までは持ちこたえますが、その後は書き直しが必要です。

03 生のテキストダンプは、実際に必要なスプレッドシートの形になっていません

多くの解析ツールは、すべてのテキストやMarkdown風のページダンプを出力した時点で作業完了とします。それは中間成果物であり、答えではありません。目標が1ドキュメントにつき1行のExcelで、取引先・日付・合計が固定の列に入っていることなら、テキストダンプでは整形を手作業で行うことになります。出力の形こそが成果物であり、ほとんどのパーサーが最後まで仕上げられない部分です。

カスタム列抽出がこれを解決します

01 意味でページを読むため、表は表のまま、文章は文章のまま

ImageToTable.ai は、人が見るのと同じようにページ全体を見るビジョンモデル上に構築されています。罫線のあるグリッド、リスト、段落を区別し、結合されたヘッダーセルはそれが支配する列に紐づけたままにし、脇の表と本文テキストを混在させません。だからこそ意味的な読み取りが重要です。AI がテキストの塊を表だと認識すれば、その行は読解順の文字列ではなく行として出力されます。

02 出力はあなたが定義。維持すべきルールも正規表現もありません

カスタム列抽出では、欲しいフィールド名を入力するだけです。たとえば「Vendor or Sender Name」「Document Date」「Total Amount」と入力すると、AI は値の位置ではなく意味を理解して、ページ上のどこからでも各値を特定します。配置するアンカーキーワードも、描く座標も、デバッグする正規表現もありません。来四半期に送信者がドキュメントを刷新しても、あなた側では何も変わりません。AI はルールを再適用するのではなく新しいレイアウトを読み直すため、同じ列名がそのまま機能し続けます。

03 出力は名前付きの列、1ドキュメントにつき1行、使い慣れた形式で

解析された各ドキュメントはスプレッドシートの1行になり、要求した各フィールドは指定した列に入ります。Excel で確認するなら XLSX、別のシステムに取り込むなら CSV、下流のプログラムが消費するなら JSON としてエクスポートできます。構造化テーブル出力と生テキストのダンプはそれぞれ別の役割を担いますが、このツールは前者を直接生成するため、整形し直す手間がなくなります。日付、金額、参照番号は抽出時に正規化されるので、列に入る値はクリーンアップが必要な文字列ではなく型付きデータです。

混在したドキュメントのフォルダから1つのスプレッドシートへ、3ステップ

さまざまな送信者からさまざまな形式でドキュメントを受け取り、その主要なフィールドを1か所にまとめたい場合の、アップロードから出力までのワークフローをご紹介します。

1

すべてを1つのバッチでアップロード、混在フォーマットも歓迎

PDF、スキャン、写真、スクリーンショットをまとめてドロップできます。PDF、JPG、PNG、WebP、AVIFに対応し、パスワードを入力すればパスワード保護されたPDFも扱えます。レイアウトや送信者ごとにファイルを事前に仕分ける必要はなく、ファイル形式ごとにテンプレートを選ぶ必要もありません。バッチ処理では多数のファイルを1つのジョブで実行するため、異なるドキュメントが入ったフォルダ全体が1回のアップロードで済みます。クライアントや現場スタッフから届くドキュメントには、コレクションリンクを使えば共有可能なURLを渡すことができ、相手は短い確認コードを入力するだけであなたのキューに直接アップロードできます。相手側にアカウントは不要です。

2

列名は一度指定するだけ。同じ定義があらゆるレイアウトを読み取ります

必要なフィールドを入力します。たとえば「参照番号」「ベンダーまたは送信者名」「ドキュメント日付」「合計金額」「支払期日」などです。AIは各ドキュメントを個別に読み取り、指定した値がそのページのどこにあっても見つけ出します。密集した仕入先請求書、2段組の申請書、撮影された納品書も、同じ列定義で解析されます。抽出は保存された位置ではなく意味に基づいて機能するからです。ドキュメントに文字として記載されていない値が必要な場合は、計算列が同じ処理の中でそれを導出できます。たとえば「行合計(数量 × 単価)」などです。

3

すぐに使える1つの統合スプレッドシートを取得

各ドキュメントは1行として返され、要求したすべてのフィールドがそれぞれの名前付き列に整列されるため、60件の混在ドキュメントのバッチは60行のスプレッドシートになります。Excelで作業を続けるならXLSX、インポート用ならCSV、プログラムが利用するならJSONとしてエクスポートできます。ドキュメント自体を編集可能な形で必要な場合は、Wordエクスポートが元のレイアウトを保持します。手入力では1ページあたり平均約3分かかりますが、解析されたページは5~10秒で処理され、バッチ全体が、以前は手作業で数件分かかっていた時間で完了します。

ビジュアル文書パーサーが適する場面と、別のツールがより適する場面

最適な用途

レイアウトが変わる多数の送信元からのドキュメント。 これはテンプレートツールが最も苦手とし、視覚的パースが最も得意とするケースです。数十の送信元から届く請求書、明細書、フォーム、メモはそれぞれ独自のデザインを持ち、送信元がドキュメントを再設計しても維持すべきルールはありません。

デジタルPDFだけでなく、スキャン、写真、スクリーンショットにも対応。 スキャンした紙、撮影したフォーム、アプリのスクリーンショットも同じ視覚的読み取りでパースされるため、1つのワークフローでデジタル生まれの入力と画像ベースの入力をまとめて処理でき、混在したバッチにも対応します。

スプレッドシートや下流システム向けのフィールド単位の出力。 成果物がExcel、データベースインポート、APIに渡す名前付きの列である場合、日付と金額が正規化された1ドキュメント1行の形式がそのまま得られ、再整形の手間はありません。

注意すべきケース

機械生成されたテキスト形式は従来のデータパーサーの領域です。 入力がすでに構造化されたテキスト、CSVファイル、ログ行、JSONフィード、APIレスポンスである場合、ルールベースのデータパーサーの方が軽量なツールです。解釈すべき視覚的構造がなく、決定論的なルールの方が高速で、大量処理でも無料で実行できるからです。

テキストがなくグラフィックとしてのみ存在する値。 署名、印鑑、グラフは視覚的に情報を伝えますが、これらの要素はページ上で位置を特定できても、テキスト形式を持たず純粋にグラフィックとして描かれたデータポイントは列に格納できません。値が重要な場合は、ドキュメント上のどこかにテキストとして存在する必要があります。

手書きの品質が精度の上限を決めます。 印刷されたテキストは安定してパースできますが、手書きは可読性に依存します。明確で文字間隔の適切な手書きは妥当な精度で抽出できますが、走り書きの筆記体、薄い鉛筆、濃い取り消し線は精度を下げるため、新しい手書きソースからの最初の出力はスポットチェックしてください。

よくある質問

文書パーサーとデータパーサーの違いは何ですか?

データパーサーは、CSVファイル、ログ行、JSONフィード、Webレスポンスなど、すでに構造化されたテキストを読み取り、正規表現などのルールで整形します。文書パーサーは、構造が視覚的なドキュメントを扱います。PDF、スキャン、スクリーンショットでは、ラベル、値、テーブル、脚注がページの見た目だけで区別されます。ImageToTable.aiは文書パーサーです。ページ上で各テキストが何を意味するかを読み取り、生のテキストではなく名前付きのスプレッドシート列を出力します。実際の入力がPDFやスキャンなのにデータパーサーツールを探しているなら、必要なのは文書パーサーのほうですし、その逆も同じです。

このパーサーは画像やスクリーンショットからもデータを抽出できますか?

はい。ImageToTable.aiはPDFパーサーであると同時に画像パーサーであり画像テキストパーサーでもあります。JPG、PNG、WebP、AVIFのスクリーンショットや写真をアップロードすると、AIはPDFで読み取るのと同じ視覚的構造を読み取ります。ホワイトボードから撮影したテーブル、決済アプリのスクリーンショット、紙のフォームのスキャンも、すべて同じ名前付きのスプレッドシート列にパースされます。画像内のテーブルはテーブルとして処理されます。これはPDFテーブルパーサーの検索で求められることでもあり、画像からテキストへの変換は別のエクスポートではなく同じ処理の一部です。

この文書パーサーはどのようなフィールドを抽出できますか?

列の名前はあなたが決めるので、フィールドリストも自由に定義できます。よく選ばれるのは参照番号、文書日付、ベンダーまたは送信者名、合計金額、税額、通貨、支払期日、明細項目、連絡先メールアドレス、電話番号、請求先住所、アカウント/PO番号などです。AIは位置ではなく意味によって各値を特定するため、同じ列定義がまったく異なるレイアウトのドキュメントにも使えます。ドキュメントに明記されていないフィールドも対応できます。計算列では「明細合計(数量 × 単価)」のような計算を出力でき、推論列ではページ上にカテゴリフィールドがなくても、たとえばカテゴリごとに各ドキュメントを分類できます。

レイアウトごとにパース用テンプレートを作成したりルールを書いたりする必要がありますか?

いいえ。配置するアンカーキーワードも、描画するゾーンも、維持する正規表現もありません。欲しい列名を入力するだけで、AIは保存された位置を再生するのではなく、意味を理解して各値を見つけます。これがテンプレートベースのパーサーとの構造的な違いです。テンプレートベースでは、異なるレイアウトごとに独自のルールセットが必要で、送信者がデザインを変更するたびにメンテナンスが発生します。また、r/Ragのある独立系レビュアーが指摘したように、「PDFから構造化データへ、ほとんど手作業のクリーンアップなしで」変換することが従来のスタックでは実現困難だったのは、壊れ続けるのがレイアウトマッチングの層であり、それを取り除くことがハンズオフのパースを可能にするからです。

解析したドキュメントはどの形式でエクスポートできますか?

Excel(XLSX)、CSV、JSON、Wordです。XLSXが既定の作業形式で、1ドキュメントにつき1行、指定したフィールドが列になります。CSVは他のシステムへのインポートに適しています。JSONは人ではなくプログラムが出力を消費する場合に適しており、独自のコードからパーサーを呼び出したい場合にREST APIが返す形式でもあります。Wordへのエクスポートは少し毛色が異なり、その点が便利です。フィールドではなく、元のレイアウトを保持したドキュメント全体を編集可能な形で返すため、データポイントではなくドキュメントそのものが必要な場合に役立ちます。

📮 contact email: [email protected]