JSONファイルの中身
このファイルは、追加した画像1枚につき1ページ、並べた順番どおりのページで構成された文書を表します。どのページにも同じ基本情報が入り、読み取りモードに応じて追加の詳細が入ります。
- すべてのページ: タイトル(ファイル名から取得)、読み取りモード、テキスト。
- 表のページ: 表の行。各行はセルのリストで、エディターに表示されるグリッドと一致します。
- レシート・請求書のページ: 項目のリスト(それぞれキー、わかりやすいラベル、値を持つ)と、明細のリスト。
- コードのページ: PythonやSQLなど、認識できた場合はプログラミング言語のラベル。
書き出しにはエディターで編集した後の結果が使われるので、ダウンロード前に行った修正はファイルに反映されます。
レシートの例(一部抜粋)
レシートモードで読み取ったページは次のようになります。項目と明細は一部だけに省略しています。
{
"title": "lunch-receipt",
"createdAt": "2026-10-03T12:30:00.000Z",
"pages": [
{
"title": "lunch-receipt",
"mode": "receipt",
"text": "Corner Cafe\n2 Flat white 3.50 7.00\n...",
"receipt": {
"kind": "receipt",
"currency": "USD",
"fields": [
{ "key": "merchant", "label": "Business", "value": "Corner Cafe" },
{ "key": "date", "label": "Date", "value": "03/14/2026" },
{ "key": "tax", "label": "Tax", "value": "1.12" },
{ "key": "total", "label": "Total", "value": "15.12" }
],
"items": [
{ "description": "Flat white", "qty": "2", "unitPrice": "3.50", "amount": "7.00" },
{ "description": "Chicken wrap", "qty": "1", "unitPrice": "7.00", "amount": "7.00" }
]
}
}
]
}
完全な構造を一番手早く確認するには、このページのサンプルのレシートを読み取り、JSONとしてダウンロードしてみてください。
画像のJSON変換が役立つ場面
- 経費処理の仕組み。 レシートをまとめて読み取って確認し、1つのJSONファイルに書き出せば、あとは自作のスクリプトで日付や合計を帳簿やスプレッドシートに移せます。きれいなレシート写真の撮り方はレシートOCRのページで紹介しています。
- データ入力。 印刷された申込書、価格表、請求書の値を別のシステムに入力する場合、文字の塊よりも名前付きの項目のほうが対応付けしやすくなります。
- テストデータ。 レシート、表、スキャンしたテキストを扱う機能を開発するとき、現実的な読み間違いも含めた本物のOCR出力を、パーサーや検証コードのテスト用データとして使えます。
- 構造を持たせたアーカイブ。 テキストと一緒にモードや項目を保存しておけば、古いスキャンをあとで再処理しやすくなります。
スプレッドシートの行と列が必要なだけなら、画像をExcelに変換のほうが少ない手順で済みます。
コードで値を扱う際の注意
値は数値や日付に変換されず、読み取ったとおり、印刷されたままのテキストとして保持されます。レシートの発行元によって、日付は03/14/2026のことも14.03.2026のこともあり、金額は1,250.00のことも1.250,00のこともあります。想定する形式で解析し、どれにも当てはまらないものは人が確認できるようにフラグを付けましょう。
すべての項目が存在するとも限りません。チップの行がないレシートにはチップの項目がなく、色あせたレシートでは日付が欠けていることもあります。リスト内の位置ではなくkeyを使えば、項目が欠けていてもコードが正しく動きます。
合計をコードでチェックするのもおすすめです。明細の金額の合計は小計と一致し、小計に税を足して割引を引いた額は合計と一致するはずです。一致しなければ、何かが読み間違えられている可能性が高いサインです。
APIなし、ブラウザ内で処理
読み取りは、オープンソースのTesseractエンジンを使って、お使いの端末のブラウザ内で行われます。画像はアップロードされず、JSONファイルも端末上で作成されます。
つまり、呼び出すAPIも、画像を送るサーバーのエンドポイントもありません。画像のJSON変換は手作業のステップです。画像を追加し、結果を確認して、ファイルをダウンロードします。いずれにせよ人がデータを確認する作業に向いており、バックグラウンドで画像を自動処理する手段ではありません。画像からテキストになるまでに何が起きているのか気になる方は、OCRの仕組みをご覧ください。