對於使用分層 PDF 作為主要可交付格式的技術插畫家和圖形設計師來說,按圖層而不是按可視矩形進行編輯的能力從根本上改變了文件移交工作流程。設計人員可以在專用元資料層上準備包含所有客戶資訊的單一主文件,交付刪除該層的文件以供公開分發,並保留完整的元資料層主文件以供內部參考。這種單一來源方法消除了文件的內部副本和公共副本之間版本不符的風險。
PDF 層 編輯方法對於不同審閱者需要存取不同資訊集的多重利害關係人項目特別有價值。審查施工圖的工程師可能需要所有可見的技術層,而成本估算人員只需要尺寸和數量層。將修訂應用於特定於角色的層的單一來源文件可以為所有各方提供服務,而無需文件作者維護單獨的版本。
對於受 GDPR、HIPAA 或 CCPA 等資料保護法規約束的組織來說,按層編輯的能力可提供額外的合規性優勢。分發文件時,所有非敏感層都對普通員工可見,而敏感資訊層則被刪除或取代。同一來源文件服務於所有受眾級別,並且在層級別應用修訂,而不是透過維護文件的多個單獨的修訂副本。這減少了版本控制開銷,並確保所有接收者都使用相同的底層文件結構進行工作,並且只能存取適合其許可等級的層。
由多個可選內容群組(通常稱為圖層)建立的 PDF 文件可以在一層中儲存文字內容,在另一層中儲存圖像和照片,在第三層中儲存註釋和評論,在第四層中儲存浮水印或信紙範本等背景元素。當您需要刪除或隱藏僅存在於一個特定圖層中的敏感訊息,同時保持所有其他圖層完全可見和互動時,將所有圖層展平為單一影像,然後在展平結果上刻錄不透明黑色矩形的標準編輯工具將無法運作。層結構被破壞,本應保持可見的內容與敏感資訊一起遺失。瞭解並尊重可選內容組結構的LO0§PDF修訂方法可以逐層定位內容,從特定命名的OCG中刪除或隱藏數據,同時保留所有其他層的完整和功能。
這種情況會出現在多種專業環境中。工程公司使用分層 PDF 將建築平面圖與電氣、管道和 HVAC 覆蓋圖分離到單一文件中。從標題區塊圖層編輯機密客戶名稱不得影響平面圖、尺寸標註或註釋圖層。政府機構發布分層 PDF,其中一層為底圖,另一層則為敏感基礎設施詳細資訊。多語言出版商將每個翻譯儲存在自己的圖層上。在每種情況下,編輯都必須是外科手術:僅限於一層。

PDF 可選內容組如何獨立儲存內容
可選內容組在 PDF 版本 1.5 中引入,現已完全納入 ISO 32000 標準(Adobe,“PDF Reference 1.7”,2006)。每個 OCG 都是一個命名的、邏輯上獨立的頁面內容集合,檢視器應用程式可以根據使用者的判斷開啟或關閉該內容。文件目錄包含一個 OCProperties 字典,該字典按名稱列出每個 OCG,並將每個 OCG 對應到屬於它的內容流物件。一個頁面可以引用多個內容流,並且每個流可以被標記為屬於一個或多個 OCG。
由於每一層的內容都儲存在 PDF 物件結構內離散的、可識別的內容流物件中,因此在技術上可以編輯、修改或完全刪除某一層的內容,而不會影響任何其他層中儲存的資料。了解 OCG 架構的LO0§PDF Redaction工具可以透過名稱定位與目標層關聯的內容流,並僅刪除或替換那些特定的流。然而,忽略 OCG 邊界的標準修訂工具通常會在套用修訂標記之前將所有可見圖層展平為單一渲染的點陣圖影像。此展平步驟將所有圖層永久合併在一起並破壞原始圖層組織。
嘗試編輯 PDF
無需安裝。直接在您的瀏覽器中工作。
識別哪一層包含要編輯的資訊
在執行任何編輯之前,您必須準確地確定哪個 OCG 名稱或識別碼包含要刪除的內容。在任何在使用者介面中顯示「圖層」面板的檢視器中開啟 PDF。 Adobe Acrobat Pro、Foxit PDF Editor、Bluebeam Revu 和一些開源 PDF 檢視器通常會在左側邊欄面板中顯示可切換圖層清單。每次關閉每一層,同時觀察哪些內容從頁面顯示中消失。將每個圖層名稱對應到其視覺內容。記錄面板中顯示的確切 OCG 名稱字串,包括大寫、空格和任何特殊字元。
對於程式識別,請使用 PDF 結構檢查工具,例如帶有“-struct”標誌的“pdfinfo”或使用 pikepdf 庫的 Python 腳本。文件目錄內的 OCProperties 字典將每個 OCG 名稱對應到屬於該層的內容流物件參考清單。 pikepdf 中的程式碼「pdf.Root.OCProperties」會傳回完整的 OCG 結構,然後您可以遍歷該結構以將圖層名稱與其關聯的內容流相符。
透過從每個頁面刪除目標層內容流進行編輯
最精確的方法是從頁面的內容陣列中僅刪除屬於目標 OCG 的內容流物件。此方法需要一個工具或腳本,可以從文件目錄中讀取 OCG 到內容的映射,識別與目標圖層名稱關聯的每個內容流物件引用,並從每個頁面的內容流清單中刪除這些特定物件參考。所有其他內容流保持不變並繼續正常渲染。 Python 的 pikepdf 函式庫本身支援這種物件級操作,基於 Java 的 Apache PDFBox 函式庫也是如此。
下表比較了分層 PDF 的可用編輯方法:
| 方法 | 保留層 | 去除精度 | 所需技能等級 |
|---|---|---|---|
| pikepdf / Python 腳本 | 是的,所有其他層都完好無損 | 手術式、單獨的內容流刪除 | 中級Python編程 |
| Adobe Acrobat Pro 圖層面板 | 是的,如果使用圖層刪除 | 好,透過 GUI 按圖層名稱刪除 | 基本的點擊式介面 |
| 展平和編輯(標準工具) | 不,破壞所有層組織 | 差勁,將所有內容刻錄成一張平面圖像 | 基本但破壞結構 |
透過使用不透明蒙版替換目標圖層內容進行編輯
在完全刪除圖層會擾亂依賴特定圖層計數或命名約定的下游工作流程的情況下,替代技術將目標圖層的內容替換為相同尺寸的不透明矩形。替換物件保留在同名 OCG 內,因此圖層切換在檢視器中仍然有效,但儲存在該圖層中的敏感內容已被空白蒙版取代。不使用稍後查看者可以刪除的黑盒覆蓋。原始內容資料將從內容流中永久刪除並替換。
此方法對於 CAD 或 BIM 軟體需要一組具有特定名稱的固定圖層的工程和建築文件特別有效。當在創作應用程式中重新開啟檔案時,完全刪除圖層會導致錯誤或警告。替換層內的敏感內容同時保持層容器本身存在既滿足安全要求又滿足軟體相容性要求。
驗證沒有敏感內容洩漏到其他層
現實 PDF 中的內容標記很少像圖層面板所顯示的那樣乾淨。創作應用程式可能已將邏輯上屬於註釋層的文字物件寫入預設內容流而不是註釋特定內容流中。在完成密文文件之前,關閉除目標密文層之外的所有層,並確認敏感內容從視圖中完全消失。然後使用文字擷取工具或「grep」等指令針對未壓縮的 PDF 資料搜尋整個 PDF 的原始文字內容。如果敏感文字字串的任何片段出現在搜尋結果中,則該資料存在於目標圖層之外的某個位置,並且需要單獨的額外密文處理。
WukongPDF 的PDF 編輯 工具在內容流層級上運行,當在文件中標識層結構時,可以按名稱定位特定的可選內容組。密文僅應用於選定的圖層,保留輸出文件中所有其他圖層的可見度和互動性。
對於具有法律、監管或隱私影響的文檔,還要驗證文檔的元資料流、片段資訊字典以及任何嵌入的縮圖或頁面預覽圖像中是否不存在已刪除的內容。完整的驗證通過包括檢查所有五個儲存位置。將分層內容與密文要求結合的 PDF 需要在物件模型層級(而不是渲染像素層級)運行的工具。透過名稱識別正確的目標 OCG,僅刪除或替換該層的內容流,然後徹底驗證目標層之外沒有殘留數據,從而產生經過編輯的 PDF,其中所有剩餘層都保持完整的功能、互動性和可視性。
嘗試編輯 PDF
無需安裝。直接在您的瀏覽器中工作。
