PDFのメタデータを確認して削除する方法

  1. PDFを追加する. 「PDFを選択」をタップするか、ファイルをページにドロップします。パスワードで保護されている場合は、パスワードを入力して「開く」をタップします。
  2. 何が明かされているか読む. 表には各メタデータフィールドとその値、または「未設定」が並びます。その下には、XMPパケットが埋め込まれているかどうかと、ファイルを作ったアプリや人物についてそれが何を語っているかが表示されます。
  3. すべて削除する. 「メタデータをすべて削除」をタップします。ツールはInfoの項目とXMPストリームをすべて削除し、新しいPDFを書き出し、フィールドが消えたことを読み直して確認してから、「ファイル名-clean.pdf」としてダウンロードします。
  4. まだ中に残っているものを確認する. メタデータは1つの層にすぎません。見える文字、ヘッダーの名前、コメント、フォーム欄はそのまま残ります。それらには「PDF墨消し」を使ってください。

できること

  • Info辞書の標準9フィールドすべてと、作成アプリが追加した独自キーを表示
  • 埋め込まれたXMPメタデータストリームを検出し、作成ツール、作成者名、文書IDを表示
  • すべて削除:Infoフィールドをすべて空にし、XMPストリームと非公開のPieceInfoブロックを削除して、新しいファイルとして保存
  • ダウンロード前に、クリーンにしたファイルを読み直して結果を検証
  • パスワードがわかっていればパスワード付きPDFも開け、クリーンにしたコピーにパスワードを残すことも可能
  • すべて端末内で完結 — 通信が発生するのは、オープンソースのpdf-libライブラリを取得するときだけ

PDFはどんなメタデータを持っているのか

PDFファイルには、ページに見える内容とは別に、文書に関する情報を置く場所が2つあります。1つ目は文書Information辞書で、PDF規格(ISO 32000-1:2008、14.3.3節)で定義されたキーと値の短い一覧です。2つ目はXMPメタデータストリームで、AdobeのExtensible Metadata Platform形式のXMLパケットであり、文書カタログから参照されます(14.3.2節)。最近のアプリはたいてい両方を書き込み、しかも両者が食い違うことが多いため、このツールは別々に表示します。

どのフィールドが何を漏らし、このツールで削除されるか

フィールド明かされる可能性があるものこのツールで削除?
Title元の文書名やファイル名。あとで名前を変えた下書きの名前のこともはい
Authorファイルを作ったアカウントのユーザー名。実名やメールアドレスであることが多いはい
Subject、Keywords文書プロパティに入力した、またはテンプレートから引き継いだ題目やタグはい
Creator文書を作ったアプリ(Word、Pages、Googleドキュメント、スキャナーの機種)はい
ProducerPDFエンジンとそのバージョン。ときにライセンス保有者の名前はい
CreationDate、ModDateファイルがいつ作られ最後に変更されたか(タイムゾーン付き)。ページに印字された日付と矛盾することもはい
Trappedプリプレスのフラグ。無害だが印刷ワークフローの痕跡になるはい
独自のInfoキー作成アプリが追加したもの:会社名、元文書のパス、テンプレートIDはい
XMPストリーム作成ツール、作成者、同じファイルの版をつなぐ文書IDとインスタンスID、編集履歴(xmpMM:History)はい — ストリームのオブジェクトごと削除
PieceInfoアプリケーションの非公開データ(Illustrator、InDesign、Photoshopの保存設定)はい
ページの文字、ヘッダー、フッターページにそのまま印字された名前、住所、口座番号いいえ — PDF墨消しを使ってください
埋め込みフォント名使っているフォント(ときにはOSも)いいえ
注釈とフォーム欄コメントの作成者名、付箋、フォームに入力した値いいえ
埋め込み画像内のEXIF / XMPPDFに配置した写真のカメラ機種、GPS位置情報、撮影日時いいえ — 配置する前に写真から削除してください(写真のメタデータ)
添付ファイル、しおり、リンク添付されたファイル、アウトラインのタイトル、リンク先いいえ

削除はどのように行われるのか

ツールはpdf-libでファイルを解析し、メタデータの更新をオフにして開くため、ライブラリが読み込み時に自身のProducerと日付を刻印することはありません。次にInfo辞書のすべての項目を削除し、カタログのMetadata参照とそれが指すXMPストリームのオブジェクトを取り除き、PieceInfoを落としてから、新しいファイルを書き出します。pdf-libは増分更新を追記するのではなくオブジェクトテーブル全体を書き直すため、古い値が使われないオブジェクトとしてファイルに残ることはありません。プロパティを「消去」しても以前の版をファイルに残してしまうエディターもあり、そこが落とし穴です。出力はプレーンテキストの辞書で書かれるので、自分で結果を確認できます。テキストエディターで開いて/Authorやx:xmpmetaを検索してください。

PDFのメタデータはどんなときに削除すべきか

  • 履歴書、苦情の申し立て、賃貸の申込書など、使ったソフト、ユーザー名、編集の履歴が相手に関係ない文書を送る前。
  • 報告書や書式を公開する前。Authorフィールドには組織ではなく担当者の名前が入っていることがよくあります。
  • スキャンした文書から、スキャナーの機種、ドライバー、スキャン時刻を知られたくないとき。
  • Titleに作業中の名前(「offer_v3_final_LOW.pdf」など)が残ったままのファイルを共有する前。

制限事項

  • 文書レベルのメタデータのみが対象です。見える内容は意図的に手を付けません。1ページ目に印字された名前は1ページ目に残ります。
  • 壊れたファイルや、pdf-libが解析できないファイルは、中途半端な結果ではなくメッセージとともに失敗します。
  • 暗号化されたファイルはパスワードがなければ開けません。所有者パスワードによる制限は、クリーンにしたコピーには保持されません。
  • ファイルのバイトが変わるため、電子署名は無効になります。これは署名済みPDFへのどんな編集にも当てはまります。
  • 大きなファイル(数百MB)はメモリ内で書き直されるため、保存が終わる前にスマートフォンのメモリが尽きることがあります。