主要な成果物の形式としてレイヤー化された PDF を扱うテクニカル イラストレーターやグラフィック デザイナーにとって、視覚的な四角形ではなくレイヤーごとに編集できる機能により、ドキュメントの受け渡しワークフローが根本的に変わります。設計者は、専用のメタデータ レイヤー上のすべてのクライアント情報を含む単一のマスター ファイルを準備し、パブリック配布用にそのレイヤーを削除したファイルを配信し、内部参照用にメタデータ レイヤーをそのままの状態でマスターを保持できます。この単一ソースのアプローチにより、ドキュメントの内部コピーと公開コピーの間でバージョンが一致しないリスクが排除されます。
PDF レイヤー による編集アプローチは、さまざまなレビュー担当者がさまざまな情報セットにアクセスする必要がある、複数の利害関係者がいるプロジェクトに特に役立ちます。建設図面をレビューするエンジニアは、すべての技術レイヤーを表示する必要がある場合がありますが、コスト見積り担当者は寸法レイヤーと数量レイヤーのみが必要です。役割固有のレイヤーに墨消しが適用された単一のソース ファイルは、ドキュメント作成者が別のバージョンを管理する必要なく、すべての関係者に提供されます。
GDPR、HIPAA、CCPA などのデータ保護規制の対象となる組織にとって、レイヤーごとに編集できる機能は、コンプライアンスの追加の利点を提供します。文書は、機密情報層が削除または置換されている間に、一般スタッフに表示されるすべての非機密層を含めて配布できます。同じソース ファイルがすべての閲覧者レベルに提供され、編集はドキュメントの複数の個別の編集済みコピーを保持するのではなく、レイヤー レベルで適用されます。これにより、バージョン管理のオーバーヘッドが軽減され、すべての受信者が同じ基礎となる文書構造から作業し、それぞれのクリアランス レベルに適したレイヤーのみにアクセスできるようになります。
一般にレイヤーと呼ばれる複数のオプション コンテンツ グループで構築された PDF ドキュメントは、テキスト コンテンツを 1 つのレイヤーに、画像と写真を別のレイヤーに、注釈とコメントを 3 番目のレイヤーに、透かしやひな形テンプレートなどの背景要素を 4 番目のレイヤーに保存できます。他のすべてのレイヤーを完全に表示およびインタラクティブに保ちながら、特定の 1 つのレイヤー内にのみ存在する機密情報を削除または隠蔽する必要がある場合、すべてのレイヤーを 1 つの画像に平坦化し、平坦化された結果の上に不透明な黒い四角形を焼き付ける標準の墨消しツールは機能しません。レイヤー構造が破壊され、表示されたままであるはずのコンテンツが機密情報とともに失われます。オプションのコンテンツ グループ構造を理解し尊重する PDF Redaction アプローチでは、レイヤーごとにコンテンツをターゲットにし、他のすべてのレイヤーをそのままの状態で機能的に維持しながら、特定の名前付き OCG からデータを削除または非表示にすることができます。
このシナリオは、いくつかの専門的な状況で発生します。エンジニアリング会社は、レイヤー化された PDF を使用して、建築フロア プランを電気、配管、HVAC オーバーレイから単一のファイルに分離します。タイトルブロックレイヤーから機密のクライアント名を編集しても、フロアプラン、寸法、または注釈レイヤーに影響を与えてはなりません。政府機関は、基本マップを 1 つのレイヤーに、機密インフラストラクチャの詳細を別のレイヤーに含む階層化された PDF を公開しています。多言語出版社は、各翻訳を独自のレイヤーに保存します。どのような場合でも、編集は外科的に行う必要があり、1 つのレイヤーのみに制限されます。

PDF オプションのコンテンツ グループがコンテンツを独立して保存する方法
オプションのコンテンツ グループは PDF バージョン 1.5 で導入され、現在は ISO 32000 標準に完全に組み込まれています (Adobe、「PDF Reference 1.7」、2006)。各 OCG は、ビューア アプリケーションがユーザーの裁量でオンまたはオフに切り替えることができる、名前付きの論理的に独立したページ コンテンツのコレクションです。ドキュメント カタログには、すべての OCG を名前でリストし、それぞれをそれに属するコンテンツ ストリーム オブジェクトにマップする OCProperties ディクショナリが含まれています。ページは複数のコンテンツ ストリームを参照でき、各ストリームは 1 つ以上の OCG に属するものとしてタグ付けできます。
各レイヤーのコンテンツは PDF オブジェクト構造内の個別の識別可能なコンテンツ ストリーム オブジェクトに保存されるため、他のレイヤーに保存されているデータに影響を与えることなく、あるレイヤーのコンテンツを編集、変更、または完全に削除することが技術的に可能です。 OCG アーキテクチャを理解する PDF Redaction ツールは、ターゲット レイヤーに関連付けられたコンテンツ ストリームを名前で特定し、それらの特定のストリームのみを削除または置換できます。ただし、OCG 境界を無視する標準の墨消しツールは、通常、墨消しマークを適用する前に、表示されているすべてのレイヤーを 1 つのレンダリングされたビットマップ イメージに平坦化します。この平坦化ステップにより、すべてのレイヤーが永久に結合され、元のレイヤー構成が破壊されます。
PDF を墨消ししてみる
インストールは必要ありません。ブラウザで直接動作します。
どのレイヤーに編集対象の情報が含まれているかを特定する
編集を実行する前に、削除するコンテンツがどの OCG 名または識別子に保持されているかを正確に判断する必要があります。ユーザー インターフェイスで [レイヤー] パネルを表示する任意のビューアで PDF を開きます。 Adobe Acrobat Pro、Foxit PDF Editor、Bluebeam Revu、およびいくつかのオープンソース PDF ビューアでは、通常、左側のサイドバー パネルに切り替え可能なレイヤー リストが表示されます。どのコンテンツがページ表示から消えるかを観察しながら、各レイヤーを一度に 1 つずつオフに切り替えます。各レイヤー名をそのビジュアルコンテンツにマッピングします。大文字、スペース、特殊文字を含む、パネルに表示される正確な OCG 名の文字列を記録します。
プログラムによる識別には、「-struct」フラグを指定した「pdfinfo」などの PDF 構造検査ツール、または pikepdf ライブラリを使用する Python スクリプトを使用します。ドキュメント カタログ内の OCProperties ディクショナリは、各 OCG 名をそのレイヤーに属するコンテンツ ストリーム オブジェクト参照のリストにマップします。 pikepdf のコード `pdf.Root.OCProperties` は完全な OCG 構造を返します。これをトラバースして、レイヤー名を関連するコンテンツ ストリームと一致させることができます。
各ページからターゲット レイヤーのコンテンツ ストリームを削除して編集する
最も正確な方法は、ターゲット OCG に属するコンテンツ ストリーム オブジェクトのみをページのコンテンツ配列から削除することです。このアプローチには、ドキュメント カタログから OCG からコンテンツへのマッピングを読み取り、ターゲット レイヤー名に関連付けられたすべてのコンテンツ ストリーム オブジェクト参照を識別し、各ページのコンテンツ ストリーム リストからそれらの特定のオブジェクト参照を削除できるツールまたはスクリプトが必要です。他のすべてのコンテンツ ストリームは変更されず、通常どおりレンダリングされ続けます。 Python の pikepdf ライブラリは、Java ベースの Apache PDFBox ライブラリと同様に、このオブジェクト レベルの操作をネイティブにサポートしています。
以下の表は、レイヤー化された PDF で利用可能な編集方法を比較しています。
| メソッド | レイヤーを保持 | 除去精度 | 必要なスキルレベル |
|---|---|---|---|
| pikepdf / Python スクリプト | はい、他のすべてのレイヤーはそのままです | 個別のコンテンツ ストリームの外科的削除 | 中級の Python プログラミング |
| Adobe Acrobat Pro レイヤーパネル | はい、レイヤーの削除が使用されている場合 | 良いです。GUI 経由でレイヤー名によって削除されます。 | 基本的なポイントアンドクリックインターフェイス |
| 平坦化と編集 (標準ツール) | いいえ、すべてのレイヤー組織を破壊します | 貧弱、すべてのコンテンツを 1 つの平坦な画像に焼き込む | 基本的だが構造に破壊的 |
ターゲット レイヤーのコンテンツを不透明マスクに置き換えて編集する
レイヤーを完全に削除すると、特定のレイヤー数または命名規則に依存する下流のワークフローが中断される場合、代替手法により、ターゲット レイヤーのコンテンツが同じ寸法の不透明な長方形に置き換えられます。置換オブジェクトは同じ名前の OCG 内に残るため、レイヤーの切り替えはビューアで引き続き機能しますが、そのレイヤーに保存されていた機密コンテンツは空のマスクに置き換えられます。後で見る人が削除できるブラックボックス オーバーレイは使用されません。元のコンテンツ データはコンテンツ ストリームから完全に削除され、置き換えられます。
このアプローチは、CAD または BIM ソフトウェアが特定の名前を持つ固定のレイヤーのセットを必要とするエンジニアリングおよび建築ドキュメントに特に効果的です。レイヤーを完全に削除すると、オーサリング アプリケーションでファイルを再度開いたときにエラーまたは警告が発生します。レイヤ コンテナ自体を存在させたまま、レイヤ内の機密コンテンツを置き換えることで、セキュリティ要件とソフトウェア互換性要件の両方が満たされます。
機密コンテンツが他のレイヤーに漏洩していないことを確認する
実際の PDF におけるコンテンツのタグ付けは、レイヤー パネルが示唆するほど明確であることはほとんどありません。オーサリング アプリケーションは、論理的に注釈レイヤーに属するテキスト オブジェクトを、注釈固有のコンテンツ ストリームではなくデフォルトのコンテンツ ストリームに書き込んだ可能性があります。編集したドキュメントを完成させる前に、ターゲットの編集レイヤーを除くすべてのレイヤーをオフにし、機密コンテンツが完全に表示されなくなることを確認します。次に、テキスト抽出ツールまたは非圧縮 PDF データに対して「grep」などのコマンドを使用して、PDF 全体の生のテキスト コンテンツを検索します。機密テキスト文字列の断片が検索結果に表示される場合、そのデータはターゲット レイヤーの外側のどこかに存在するため、別の追加の編集パスが必要になります。
WukongPDF の PDF Redaction ツールは、コンテンツ ストリーム レベルで動作し、ドキュメント内でレイヤー構造が識別されている場合に、名前によって特定のオプション コンテンツ グループをターゲットにすることができます。編集は選択したレイヤー内にのみ適用され、出力ドキュメント内の他のすべてのレイヤーの可視性と対話性が維持されます。
法律、規制、またはプライバシーに関わる文書の場合は、削除されたコンテンツが文書のメタデータ ストリーム、部分情報辞書、埋め込まれたサムネイルやページ プレビュー画像にないことも確認します。完全な検証パスには、これら 5 つの保管場所すべてのチェックが含まれます。レイヤー化されたコンテンツと墨消し要件を組み合わせる PDF には、レンダリングされたピクセル レベルではなく、オブジェクト モデル レベルで動作するツールが必要です。正しいターゲット OCG を名前で特定し、そのレイヤーのコンテンツ ストリームのみを削除または置換し、ターゲット レイヤーの外側に残留データが残っていないことを徹底的に検証すると、残りのすべてのレイヤーが完全に機能し、インタラクティブで表示可能な状態を維持する編集済み PDF が生成されます。
PDF を墨消ししてみる
インストールは必要ありません。ブラウザで直接動作します。
