Skip to main content

PDF Tools API

PDF OCR API

バックエンド、バッチ処理、プロダクト内のワークフローにスキャンPDFをOCR処理を組み込み、PDF処理基盤の自前運用を減らします。

Credits

1 Credit / call

1 Credit per successful API request. Failed processing attempts are refunded automatically.

Pricing

1,000 Credits = $1

Every signed-in user receives 100 free API Credits each month.

Endpoint

/api/external/pdf-tools/pdf-ocr

Use your API Key in the x-api-key header.

Use case

スキャン契約書、領収書、アーカイブ文書を検索や変換に回す場面で使います。手作業の確認はWebツール、安定したサーバー側処理はAPIに分ける設計です。

cURL example

curl -X POST https://itextmaster.com/api/external/pdf-tools/pdf-ocr \
  -H 'x-api-key: YOUR_API_KEY' \
  -F 'file=@input.pdf;type=application/pdf' \
  -F 'options={"languages":["eng"],"scale":2,"pages":[1],"outputFormat":"text","preserveLayout":false}' \
  --output ocr-result.txt

Multipart example

curl -X POST https://itextmaster.com/api/external/pdf-tools/pdf-ocr \
  -H 'x-api-key: YOUR_API_KEY' \
  -F 'file=@input.pdf;type=application/pdf' \
  -F 'options={"languages":["eng"],"scale":2,"pages":[1],"outputFormat":"text","preserveLayout":false}' \
  --output ocr-result.txt

JSON base64 example

curl -X POST https://itextmaster.com/api/external/pdf-tools/pdf-ocr \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{
    "file": { "name": "input.pdf", "dataBase64": "JVBERi0xLjcK..." },
    "options": {"languages":["eng"],"scale":2,"pages":[1],"outputFormat":"text","preserveLayout":false}
  }' \
  --output ocr-result.txt

Node.js example

import { writeFile } from 'node:fs/promises';

const response = await fetch('https://itextmaster.com/api/external/pdf-tools/pdf-ocr', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': process.env.ITEXTMASTER_API_KEY
  },
  body: JSON.stringify({
  file: { name: 'input.pdf', dataBase64: 'JVBERi0xLjcK...' },
  options: {"languages":["eng"],"scale":2,"pages":[1],"outputFormat":"text","preserveLayout":false}
})
});

if (!response.ok) {
  throw new Error(await response.text());
}

await writeFile('ocr-result.txt', Buffer.from(await response.arrayBuffer()));

Python example

import os
import requests

response = requests.post(
    'https://itextmaster.com/api/external/pdf-tools/pdf-ocr',
    headers={
        'Content-Type': 'application/json',
        'x-api-key': os.environ['ITEXTMASTER_API_KEY'],
    },
    json={
        'file': {'name': 'input.pdf', 'dataBase64': 'JVBERi0xLjcK...'},
        'options': {'languages': ['eng'], 'scale': 2, 'pages': [1], 'outputFormat': 'text', 'preserveLayout': False}
    },
)
response.raise_for_status()

with open('ocr-result.txt', 'wb') as f:
    f.write(response.content)

Error codes

401invalid_api_key

x-api-keyがない、無効、またはローテーション済みです。

402insufficient_credits

アカウントのAPI Creditsが不足しています。

422pdf_tool_processing_failed

ファイル、オプション、PDF構造を処理できませんでした。失敗分のCreditsは自動で戻ります。

Limits

  • 正常に開けるPDFまたは有効な入力データが必要です。
  • API Keyはサーバー側に置き、ブラウザには公開しないでください。
  • 大量処理の前に代表的なファイルで出力を確認してください。

Response headers

ocr-result.txt とともに、使用Creditsと残高を示すレスポンスヘッダーが返ります。

Content-Type
生成ファイルのMIMEタイプです。通常はapplication/pdfまたはapplication/zipです。
Content-Disposition
生成ファイルのダウンロード名です。
X-Credits-Charged
成功したリクエストで消費されたCreditsです。
X-Credit-Balance
リクエスト後のAPI Credits残高です。

FAQ

PDF OCR APIの料金は?

成功したPDF OCR APIリクエストはAPI Creditsを使います。処理に失敗した分は自動で返却されます。ログイン済みユーザーには毎月100 free API Creditsがあり、1,000 Credits = $1です。

WebツールでもAPI Creditsを使いますか?

ブラウザ内で処理するWebツールはAPI Creditsを使いません。API Keyを使う自動化リクエストだけが対象です。

フロントエンドから直接呼べますか?

推奨しません。API Keyはバックエンド、キュー、サーバー側ジョブに置いてください。

Start with 100 free API Credits

Create an API Key, test PDF OCR API, and buy more Credits only when automation volume grows.