アップロードなし, 100%ローカル, アカウントなし

記事

PDFのテキストの黒塗りが失敗しがちな理由

段落の上に描かれた黒い四角形は、テキストが消えたように見えますが、ほとんどのPDFエディタでは実際には消えていません。覆った文字は、選択可能な文字として今もファイルに保存されています。四角形はその上に載った新しい図形にすぎません。ページをコピーしたり、検索したり、別のビューアで開いたりすると、「黒塗りした」はずの文章が再び現れることがあります。ここではそれが起きる理由と、隠すのではなく本当にテキストを取り除く黒塗りの方法を紹介します。

上に載った図形は削除ではない

PDFページは2つのものを別々に保持しています。1つは、それぞれが位置とフォントを持つ文字であるテキストオブジェクト、もう1つはページに配置された描画オブジェクトで、追加した四角形やハイライト、注釈もこれに含まれます。PDFビューアで黒い四角形を描くと、既存のテキストオブジェクトの上に新しい描画オブジェクトを追加していることになります。四角形が視覚的に文字を覆うため、ページは黒塗りされたように見えます。下にあるテキストオブジェクトを削除するよう指示するものは何もないため、それらは元と同じ位置、同じ内容のまま残ります。

PDFページを2つの層に分けた図:下にあるテキストオブジェクトと、その上に配置され、文字を視覚的に覆うが削除はしない描画オブジェクトの四角形

元のテキストが表面化する仕組み

テキストオブジェクトがファイルから一度も取り除かれていないため、4つのありふれた操作でそれらが露呈することがあります。「黒塗りされた」行を選択してコピーする、文書全体をテキスト検索する、任意のPDF-to-textツールで生のテキストを抽出する、あるいは描画オブジェクトより上の順序でテキストオブジェクトを描画する別のビューアでファイルを開くことです。どれも特別なスキルは必要ありません。これは実際に一度ならず公になったことがあります。機密の一節に黒い四角形を重ねて公開されたPDFが、その下に読める、コピー可能なテキストをまだ含んでいたことが判明し、その過ちは隠れたままではなく報道されました。

まずページを画像に変える

修正方法は、黒塗りする前にテキスト層を取り除くことです。pdf-to-imageのようなツールでPDFページをプレーンな画像に変換し、そのうえでimage-redactを使ってその画像の機密部分の上に描画します。その時点で、ページにはテキストオブジェクトが一切残っておらず、ピクセルだけになるため、四角形は何も復元できるものの上には載っていません。黒塗りした画像をimage-to-pdfでPDFに再構成すれば、以前機密だったテキストは単に存在しなくなります。一部が覆われたページの画像だけが残ります。

ワークフロー図:PDFページが画像に変換され、ピクセル上の不透明な四角形で黒塗りされ、そのあと下に復元可能なテキストのない新しいPDFに再構成される

これによって何を失うか

ページをラスタライズすると、本物の検索可能なテキストが静止画像に変わるため、その後そのページを読む人は、黒塗りされたかどうかに関わらず、そのページのテキストをもう選択も検索もできません。保護しようとしているページにとって、これは許容できる代償です。代替案、つまりテキスト層を無傷のまま残し誰も確認しないことを願うというのは、まさにこの記事が最初に取り上げた過ちそのものです。同じ文書の他のページに機密内容がなければ、そのままにしておき、必要なページだけをラスタライズすればよいのです。

しっかりした四角形を使い、メタデータも確認する

テキストに関しては、完全に不透明な黒または単色の四角形がより安全な選択です。ぼかしフィルターは、ぼかしが軽ければ、大きくシンプルなテキストに対して逆算されてしまうことがあるため、文章よりも顔や写真に向いています。表示されているページを黒塗りしても、ファイルのメタデータ、著者名、ソフトウェアのバージョン、埋め込み写真のGPS座標、編集履歴には手を加えません。これらは内容とは別に漏れることがあります。文書にとってそれが重要であれば、共有する前に自分のファイルのメタデータが何を明かすかを確認してください。

この記事で紹介するツール

よくある質問

PDFビューアで黒い四角形を描けば、下のテキストは実際に削除されますか?

通常はされません。ツールに下のテキストオブジェクトを削除する専用の黒塗り機能がない限り、図形を描くだけではページの上に層を追加するだけです。元の文字はファイルに残ったままで、一般的なツールで選択、検索、抽出ができます。

機密テキストは四角形で覆うよりぼかすほうが安全ですか?

テキストに関してはいいえです。大きくシンプルなテキストに軽いぼかしをかけると、特に短い単語や数字の場合、元の文字を推測できる程度まで逆算できてしまうことがあります。テキストにはしっかりした完全に不透明な四角形、あるいはまずラスタライズしてテキスト層自体を取り除くほうが安全です。ぼかしは顔や一般的な写真の内容により適しています。

黒塗り前にPDFを画像に変換すると、何か重要なものを失いますか?

変換するページ上でテキストを選択・検索する能力は失われます。プレーンな画像になるためです。積極的に黒塗りしているページにとって、それがまさに目的です。機密テキストは抽出可能な文字としてもう存在しません。機密内容のないページは、必要なページだけをラスタライズすれば、通常のPDFページのままにしておけます。