目的と元資料の有無で方法を選ぶ

元文書があり、見える文言を変えたい

  1. 作成元文書のコピーを編集して新しい PDF を出力します。スキャンの上に文字を追加しても、原文の置換にはなりません。
  2. 新しい PDF を開き直し、変更した文、改行、ページ数を表示・検索・コピーで確認します。元文書から出力しても、フォントや構造が同一になる保証はありません。

PDF しかなく、検索や文字の再利用をしたい

  1. 1文を選択してコピーしてみます。実際の文字がページと一致すれば抽出し、数値、表、読む順序を元と照合してください。
  2. 画像のみのページには OCR が必要です。認識した文字を画像と1行ずつ比較し、数値や名前の誤りを修正します。認識だけでは見えるスキャン画素を編集できず、元のレイアウトも保証されません。
  3. 既存の非表示 OCR テキストも再確認してください。この実験は手作業で挿入した非表示の日付を使っており、OCR 製品の認識精度を測定していません。

PDF しかなく、見えるスキャン内容を変更したい

  1. 可能なら作成者に編集可能な元文書を依頼します。それができなければ、必要な内容を新しい文書に作り直し、原本とは区別した再作成物として確認してください。
  2. OCR で文字を得ても、見える文言、フォント、レイアウトを作り直す必要がある場合があります。非表示テキストだけの変更は画像の変更を意味しません。

元の内容を保って説明を加えたい

  1. PDF 編集の互換性ガイドを読み、作業室の「PDF を開く → 新しいテキストボックス」を使います。構造チェックを回避する目的で、制限された文書を変換しないでください。
  2. 空いている場所に説明を置きます。「結果を確認 → 検査済み PDF をダウンロード」し、開き直してください。独立した説明文の追加であり、OCR や原文の置換ではありません。

これらは作業を見分けるための選択肢です。特定の外部 OCR・再作成製品、バージョン、価格、アップロードの扱いを検証・推奨したものではありません。使用前に公式の処理方式と料金情報を確認してください。実測したのは自作 PDF の表示と抽出の違いであり、外部 OCR の成功例は含みません。

問題と条件

文字を選べない、またはコピー内容がページと違う場合は、表現方法を確認します。text-source はテキスト命令と図、scan-only はそのページの画像、scan-ocr は OCR 模擬用の見えない日付1行を追加したものです。OCR サービスは使用していません。

観測した違い

独立した解析器は実際の文字から日付を抽出し、スキャンからは文字を抽出しません。OCR 模擬資料からは日付の行だけを抽出します。最後のファイルでも見える日付は画像のままで、非表示テキストだけを変えても表示は変わりません。PDF Desk はこの非表示原文の置換に対応していません。

違いを確認する

  1. 3つのファイルで Delivery date を検索し、日付を選択・コピーします。
  2. スキャンを拡大し、文字も画像の画素であることを確認します。
  3. 作業室の原文一覧を比較します。スキャンは編集可能な文字として表示されません。
  4. 抽出した数値と句読点を見えるページと照合します。

検証範囲と公式説明

検索できることは、アクセシビリティタグ、正しい読む順序、OCR の正確さを証明しません。pypdf の公式ガイドは認識と既存テキストの抽出を区別しています。今回の資料はその違いを示しますが、元文書の再作成や外部 OCR 処理の成功を検証するものではありません。

自分で調べられるファイル

独立検査の結果と方法(JSON) · 作成者情報とファイルハッシュ

切り出し座標・倍率・元ファイルのハッシュ・再抽出結果 · 再確認日:2026-10-24 · pdftoppm 26.07.0 · pypdf 6.10.0 · pdfplumber 0.11.9。元の PDF は変更していません。

環境・日付・確認範囲

確認日:2026-10-23 · Windows / Chrome 155 · pdf-lib 1.17.1 · PDF.js 6.4.299 · fontkit 1.1.1 · pypdf 6.10.0 · pdftoppm 26.07.0。PDF と図は独自制作で、NanumGothic は OFL-1.1 です。表とファイルは直接観測した結果、説明文はその構造の解釈です。実際の OS キーボード入力、実機のスマートフォン、すべての PDF 閲覧ソフトは検査対象外です。

公式の参考説明(実測結果とは別): pypdf:テキスト抽出と OCR

再現コード:scripts/lab-inputs.py、lab-outputs.mjs、lab-derived.py、tests/readiness-browser.mjs、tests/lab-pdf.py。

「PDF を開く」でファイルを選び、制限を確認してください。対応 PDF には説明文を追加できますが、作業室で OCR やスキャン画像内の文字の置換はできません。