# 架空PDF抽出演習の出典メモ

本資料は `ai-pdf-data-extraction-workflow-fictional-quote.pdf` と一緒に使います。編集者が作成した教材であり、顧客が提出した取引先見積書、法的文書、請求書、OCRベンチマーク、OpenMaxの実行記録ではありません。名前、識別子、商品、数量、金額は架空で、実在する発行者や署名はありません。

## 実際のファイル構成

PDFは600 × 840ポイントの3ページです。1・2ページ目は通常の生成テキストを含みます。3ページ目は作成したページを画像化し、OCRテキスト層なしで埋め込んでいます。合成元画像は1250 × 1750ピクセルで、紙の文書を撮影・スキャンしたものではありません。全ページに架空である旨を表示しています。

1ページ目は見積ID Q-00742、版B、日付03/04/2026、通貨EUR、配送日「To be confirmed」を示します。DD/MM/YYYY、小数点にカンマ、桁区切りにピリオド、識別子の文字を保持することを明記しています。このため日付は2026-04-03であり、地域を推測していません。配送日はnullで状態not_setです。ゼロ、判読不能、今日の日付ではありません。

2ページ目で明細表が始まります。AX01は12個、単価EUR 25.00、金額EUR 300.00。BX02は8個、単価EUR 37.50、金額EUR 300.00です。3ページ目へ続く旨を表示しています。単位と通貨の注記は表の下にあり、表だけを狭く切り抜くと文脈を落とす例になっています。

3ページ目は表見出しを繰り返し、CX03を追加します。2個、単価EUR 120.00、金額EUR 240.00です。小計EUR 840.00、例示税額EUR 168.00、総額EUR 1008.00で、総額の表記は `1.008,00` です。税率20%は宣言した計算上の仮定にすぎず、地域の税規則や推奨ではありません。

## 候補CSVの読み方

`ai-pdf-data-extraction-workflow-fields-example.csv` は意図的に作成した10項目の候補を含み、先頭行がヘッダーです。カンマを含む原値は通常のCSV規則で引用符に入れています。行を単純にカンマで分割して読み込まないでください。

- quote_id：候補Q-742は文字が欠けています。期待値はQ-00742。
- issue_date：候補2026-03-04は宣言された月日の順序を逆にしています。期待値は2026-04-03。
- currency：EURで一致。
- line1_qty：12でAX01と一致。
- line2_qty：2はBX02ではなくCX03に対応します。BX02の期待値は8。
- line3_qty：2でCX03と一致。
- subtotal：840.00で一致。
- tax：168.00で一致。
- total：100.80は1.008,00の正しい正規化ではありません。期待値は1008.00。
- delivery_date：CSVの値は空、value_state=not_setで、日付が未設定であることを正しく表します。スカラーセルが空というだけでは抽出失敗になりません。

誤りは作者が入れたもので、特定モデルの出力とはしていません。10項目中9個のスカラー値が空でないため入力率90%、未設定日付の正しい表現を含め6項目が正解表と一致するため一致率60%です。どちらも製品の精度測定ではありません。例の規則では4つの重要な誤りが未解決なら利用不可であり、訂正前の利用可能レコードは0/1です。

## 計算と来歴

12 × 25.00 + 8 × 37.50 + 2 × 120.00 = 840.00 EUR。例示税額は840.00 × 20% = 168.00 EUR。840.00 + 168.00 = 1008.00 EURです。候補総額との差は100.80 − 1008.00 = −907.20 EURです。計算は不一致を見つけますが、実文書の総額を上書きしたり、どの入力が誤りか断定したりする許可にはなりません。

`ai-pdf-data-extraction-workflow-source-manifest.json` は実PDFのSHA-256、ページ形式、作者が設定した10項目の矩形を含みます。表示値の周囲に配置した座標であり、OCRモデルが検出した境界ボックスではありません。`page_index` は0始まり、`printed_page` は見えているページ番号です。矩形は回転していない600 × 840ポイントのページ左上を原点とし、x/y/幅/高さと正規化した比率を記録します。ハッシュはこのバイト列を識別するもので、発行者や真正性は証明しません。

独立した座標計算の例では、1000 × 1400ピクセルの画像でleft=0.1、top=0.2、width=0.3、height=0.04を使い、left=100、top=280、width=300、height=56ピクセルになります。PDF内の実際の項目枠ではありません。回転、切り抜き、出力寸法が変わったら実際の変換を再計算してください。

## 検証したことと、していないこと

ローカル検証は3ページの構造、原ファイルのハッシュ、テキストのある6項目領域、3ページ目にテキスト層がないこと、候補の正解表、十進数演算を確認しています。全ページをレンダリングし、可読性、商品との対応、元の合計を目視確認しました。OCR評価ではなく、OCRエンジン、ホスト型抽出API、OpenMaxワークフローは実行していません。合成画像は意図的にきれいで、実文書の欠陥全体を表しません。

実システムの評価には、使用が許可された回転ページ、低品質スキャン、結合セル、レイアウト変更、脚注の欠落、非対応言語も加えます。独立した正解セットを保ち、項目の厳密な正しさ、例外検出、レコード全体の利用承認を分けます。機密性や影響の大きい用途は適切な専門家に確認してもらってください。この演習はアップロード、保存、支払い、書き込みの権限を与えません。
