PDFの透明テキスト削除

誤認識・重複した透明OCRテキスト層だけを削除

1ファイル選択2設定3処理4保存

PDFを選ぶと内容を解析して表示します。

ファイルはこのブラウザ内でのみ処理されます。サーバーにはアップロードされません。

スキャン画像の裏で誤認識・重複した透明OCRテキスト層だけを選んで削除

別のツールで続ける
作業の設定
設定

文字を描く前に描画モードを3(透明)にしたテキストオブジェクト(BT…ET)だけを探して削除します。実際に見えるテキストや背景のスキャン画像は対象外です。

暗号化されたPDFは先にパスワードを解除してください。ページの内容を中心に処理するため、しおり・添付・フォーム・署名の保持は保証されません。原本を保管し、結果をご確認ください。

PDFの透明テキスト削除について

検索できるスキャンPDFは、たいてい2層になっています。見えているのはスキャン画像で、その上の同じ位置にOCRが認識した文字が「見えない状態」で重なっています。PDFの仕様では、この透明さをテキスト描画モード3(塗りも輪郭も描かない)で表します。

OCRの誤認識や、テキスト層が二重に載ったせいで検索・コピーの結果がおかしいとき、このツールはその透明な文字だけを消し、スキャン画像は1バイトも変えずに残します。OCRをやり直す前の下処理として使うのが一般的です。

何を消すのか、本当にファイルから消えるのか

各ページのコンテンツストリーム(と、そこから呼ばれるForm XObject)をテキストオブジェクト(BT…ET)単位で読み、文字を描く命令がすべて描画モード3で実行されるブロックを削除します。描画モードはグラフィックス状態なのでBT/ETをまたいで続き、q/Qで保存・復元されるため、ストリーム全体(1ページの複数ストリームを含む)でモードを追跡して判定します。ブロック内に「3 Tr」がなく前のブロックの設定を引き継いだブロックも一緒に消え、消したブロックが設定していたフォントやモードなどの状態命令はその場に残すので、後続の内容は以前と同じように描かれます。書き換えたストリームは同じオブジェクト番号で圧縮し直し、ファイル全体を書き直すため、消した文字が以前の版としてファイル末尾に残ることはありません。

残るものもあります。OCR層が使っていたフォントオブジェクトはリソースに残り、文書情報やXMPメタデータも変更しません。ファイル構造そのものは「PDFファイルの中身」ガイドで解説しています。

隠れた文字でも対象外になるもの

判定に使うのは描画モード3だけです。次のものはそのまま残ります。

  • 白地の白文字、0.1ptのような極小文字、ページ外の座標に置かれた文字
  • 画像の後ろに隠れた通常の文字
  • Form XObjectの中でモードを設定せず、そのFormを呼び出す側の3 Trを引き継いで透明になっている文字(Formはモード0から始まるものとして検査するため、削除せずに残します)
  • 見える文字とモード3の文字が1つのブロックに混在するもの(例:先に文字を見える状態で描いてからモード3に切り替えた場合)。見える文字を消さないよう、ブロック全体を残します

例

2回OCRされた20ページのスキャン契約書

入力
検索すると同じ語が2回ずつヒットし、コピーすると「契約契約」のように重なる
結果
透明テキストがすべて削除され、文字選択できない素のスキャンPDFになる

2つのOCR層はどちらもモード3なので両方消えます。片方だけ残すことはできないため、結果にもう一度だけOCRをかけて1層のきれいなテキストを作ります。

使い方

  1. スキャンPDFを選びます。全ページが対象で、読み込むとすぐ削除後の状態がプレビューされます。
  2. 実行後、削除されたブロック数と変更されたストリーム数を確認します。
  3. 結果を開き、見た目は同じで文字だけ選べないことを確かめ、必要ならOCRをやり直します。

よくある質問

削除数が0と表示されます。

白文字や画像の裏など描画モード3以外の方法で隠されているか、Form XObjectを呼び出す側でだけモードを設定しているファイルと考えられます。このツールの対象外です。

スキャン画像の画質は落ちますか?

落ちません。画像オブジェクトは開かないので、画素も圧縮方式も元のままです。

共有前に隠れた個人情報を消す用途に使えますか?

描画モード3の文字はファイルから実際に削除されます。ただし別の方法で隠された文字やメタデータは残るので、公開用ならメタデータ除去ツールも併用してください。

実行前に何が消えるか確認できますか?

ファイルを読み込むと同じ処理を先に実行し、原本にあって処理後にない文字をページ上の赤い枠と一覧で示します。プレビューと結果は同じ計算なので食い違いません。

このサイトのOCRツールで作ったPDFにも使えますか?

使えます。そのツールも認識した文字を描画モード3で載せるので、ここで取り除いてから別の言語設定でOCRし直せます。

出典

基準日:

プライバシーとデータの扱い