ドキュメントの解析情報を準備する
このガイドの内容
解析情報の準備 生データを変換するダッシュボード設定は PDF の中へ 自動化 PDF データ抽出キャプチャキーを定義し、サンプル文書上に領域を描画し、各キーに抽出ルールを割り当てます。 正規表現 安定したパターンまたは JavaScript 表現 条件付きロジック用。保存すると、同じテンプレートが REST API、 Make、 Zapier、 Power Automate、 そして n8n その参照により テンプレートID。
セットアップの認証
パーステンプレートの作成は PDF4me 開発者ダッシュボード。アカウントでサインインしてから、 API ドキュメント解析のキー API ここで作成したテンプレートを使用する呼び出し。
見逃してはならない重要な事実
テンプレートID テンプレート用。常に渡す テンプレートID 生産中 API 電話。 テンプレート名 これも機能しますが、テンプレートの名前を変更すると、名前で参照している自動化機能が動作しなくなります。ステップ1:解析テンプレートを作成する
- 開く ドキュメント解析ダッシュボード。
- クリック 追加 そして明確なテンプレート名を入力します(例:
invoiceまたはvendor-statement) - クリック 保存 空のテンプレートを作成する。
- テンプレートを開く 編集 キャプチャキーの設定を開始するモード。

ステップ2:サンプルをアップロードし、キャプチャキーを設定します。
ダッシュボードにはアップロードされた PDF 右側に表示され、 解析情報 左側のフォームを使用してください。合成テストファイルではなく、実際の運用環境で使用されているサンプルを使用することで、キャプチャ領域が実際のトラフィックで見られるものと一致するようにします。
- クリック テンプレートファイルをアップロード そして、代表的なサンプル(請求書、契約書、フォームなど)を選びます。
- 下 キー、 クリック + キャプチャキーを追加するには、キャメルケースで名前を付けてください。
invoiceNumber、customerName、totalAmount。 - 選ぶ 式の種類を選択してください 鍵については:
Javascript ExpressionまたはRegex Expression。 - 表示されたフィールドに、式本体を貼り付けてください。
- セット ページ に
allすべてのページをスキャンするか、特定のページ番号までスキャンします(1、2範囲を限定するため、など) - 切り替え ページ全体を検索 値が固定位置にない場合に有効になります。無効にすると、描画されたキャプチャ領域のみが検索されます。

ドキュメント解析設定画面。左:キーと式タイプを含む解析情報フォーム。右:アップロードされたサンプル。 PDFアクションボタンは左から右に並んでいます:テンプレートファイルのアップロード、解析テスト、変更の保存。
ステップ3:キーごとに式タイプを選択する
| 式タイプ | 最適 | 典型的な使用例 | 複雑 |
|---|---|---|---|
| Regex Expression | Fixed text patterns | Invoice number, dates, totals, tax IDs, postal codes | Low |
| JavaScript Expression | Conditional and multi-rule extraction | Document classification, fallback logic, rule orchestration | Medium to High |
正規表現パターン(正規表現PDFパーサーの基本)
使用 正規表現 フィールドの形状が安定していて予測可能な場合。捕捉された領域が最初のマッチのためにスキャンされます。
INV-\d{6,10}
\d{2}/\d{2}/\d{4}
\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?
請求書における一般的なキーマッピング:
invoiceNumber→INV-\d{6,10}invoiceDate→\d{2}/\d{2}/\d{4}totalAmount→\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?
これらのパターンは、仕入先明細書、発注書、出荷書類の同じ項目にも適用できます。なぜなら、請求書番号、日付、金額は、ほとんどのビジネス文書で同じ形式を共有しているからです。
JavaScript 条件論理の表現
使用 JavaScript 表現 出力が文書内の複数のマーカーの存在または組み合わせに依存する場合。 PDF4me 抽出したテキストを変数として関数に渡します textあなたの関数はテキストを評価し、キーの値となる文字列を返します。
例1:コンテンツマーカーによる分類
利用規約文書と注文書文書を区別するために、以下のマーカーフレーズの有無を確認します。
function functionFormatTextDate1(text) {
console.log("Hello");
var term = [...text.matchAll(/General Terms and Conditions/gi)];
var order = [...text.matchAll(/your ordernumber/gi)];
if (term.length) {
if (order.length) {
return "Order document";
} else {
return "Terms and Conditions";
}
} else {
return "Not Terms and Conditions";
}
}
return functionFormatTextDate1(text);
例2:請求書と注文の検出
単語の存在に基づいて文書が請求書か注文書かを判断する短い分類器 invoice そして ordernumber:
function functionGetInvoiceOrder(text) {
// You get all PDF text in `text`
var invoice = [...text.matchAll(/invoice/gi)];
var order = [...text.matchAll(/ordernumber/gi)];
if (invoice.length) {
if (order.length) {
return "Order document";
} else {
return "invoice";
}
} else {
return "";
}
}
return functionGetInvoiceOrder(text);
実装のヒント: ロジックを名前付き関数でラップして、次のように呼び出します。 return functionName(text); 一番下に表示されます。ダッシュボードは、式本体を関数として実行し、その最終的な戻り値がキーに設定されます。
ステップ4:解析テストと変更の保存
エディター上部のアクションボタンは、使用順に左から右に並んでいます。
- テンプレートファイルをアップロード サンプルをロードします PDF キャプチャ領域を描画するために使用されます。
- テスト解析 アップロードされたサンプルに対してすべてのキーを実行し、抽出された値をインラインで表示します。各正規表現を検証するにはこれを使用します。 JavaScript 保存前に式を記述します。
- 変更を保存 テンプレートを永続化し、安定した値を割り当てます TemplateId (GUID)。そのGUIDをコピーして、 API 通話と自動化プラットフォーム。
各キーを反復処理して テスト解析 各フィールドの期待値を返します。隣接するテキストが表示される場合はキャプチャ領域を狭めるか、パターンマッチングが緩すぎる場合は式を絞り込んでください。
テンプレートを使用する API または自動化呼び出し
一度 変更を保存 割り当てる TemplateId同じ解析テンプレートは参照によってどこでも実行できます。各プラットフォームで設定を再作成する必要はありません。
| 分野 | ソース | 目的 |
|---|---|---|
TemplateId | 保存後にテンプレート詳細パネルに表示されるGUID | 生産自動化のための安定した識別子。常にこちらを優先します。 TemplateName。 |
TemplateName | ステップ1で入力した名前 | 代替のルックアップ方法。テンプレートの名前を変更すると、名前でテンプレートを参照する呼び出しが機能しなくなります。 |
ParseId | クライアント側で生成するGUID(呼び出しごとに1つ) | リクエストと解析結果を関連付けます。ログ記録や監査証跡に役立ちます。 |
docName | ソース PDF ファイル名 | 追跡情報やエラーメッセージの表示に使用されます。 |
docContent | ソース PDF エンコードされた Base64 | 解析対象のファイル。 |
async | false 同期の場合、 true 世論調査のために | 応答配信を制御します。 |
例 REST リクエストボディ:
{
"docName": "invoice.pdf",
"docContent": "BASE64_ENCODED_PDF_CONTENT",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": false
}
レスポンスには、テンプレートで定義したキーごとに1つのフィールドが含まれています。それをルーティングしてください。 JSON 下流の任意のノードへ: Google Sheets、 Airtableデータベース、Excel、またはWebhook。
一般的なワークフロー
典型的な構文解析テンプレートパターンHow a saved parse template moves from dashboard to production.
- 仕入先からの請求書 PDF 監視対象のメールまたはクラウドフォルダに届きます。
- Make、 Zapier、 Power Automate、 または n8n Parse Document を呼び出す TemplateId。
- 構造化された JSON 出力(invoiceNumber、totalAmount、invoiceDate)は行として追加されます Google Sheets またはExcel。
- 経理部門はスプレッドシートから直接確認し、承認します。
- 顧客が記入済みのデータをアップロードします PDF ポータル経由でフォームを送信してください。
- バックエンドは Parse Document を呼び出します。 TemplateId そして Base64 PDF。
- 解析された JSON テンプレートキーごとに1つの列を持つデータベースINSERTにマッピングされます。
- 解析された名前と参照番号を使用して、確認メールが顧客に送信されます。
- 監視対象のフォルダには、請求書、注文書、契約書など、さまざまな種類の文書が混在して保存されます。
- A JavaScript テンプレート内の式キーは、文書の種類を返します(上記の例2を参照)。
- ワークフローでは、返されたファイルの種類に基づいて、各ファイルを適切な下流システムにルーティングします。
- 請求書として識別されたファイルは、同じテンプレート呼び出し内で正規表現に基づくフィールド抽出処理が続行されます。
テンプレート構成のベストプラクティス
- キャプチャ領域は、想定値よりもわずかに大きめに描画してください。そうすることで、フォントや位置のずれによって値がフレームからはみ出すのを防ぐことができます。
- テンプレート全体でキー名をキャメルケースで統一することで、スプレッドシート、データベース、Webhookなどの下流工程でのマッピングが予測可能になります。
- すべてのキーを、オプションのフィールドの欠落、2 ページ目の請求書、および OCRスキャンされたテキストから派生 PDFs。
- 使用 JavaScript 正規表現ではルールを表現できない場合にのみ、式を使用します。ロジックをシンプルに保つことで、テンプレートのデバッグが容易になります。
- テンプレートを名前でバージョン管理します(
invoice-v1、invoice-v2破壊的な変更を行う際には、生産自動化が独自のペースで移行できるようにする必要があります。 - スキャンを実行 PDFs を通して OCR まず( PDF4me OCR 解析前にエンドポイント)。テンプレートは、スキャンしたテキストレイヤーから抽出します。 PDFs 持っていない OCR 適用されます。