THotPDF.ScrubLoadedRedactionRemnants
在已載入文件塗銷之後,永久移除殘留的私人資料與不可達物件
Delphi 語法
function ScrubLoadedRedactionRemnants( out Report: THPDFSanitiseReport): Boolean;
說明
此方法對完整的已載入物件圖套用 spRedactionCleanup 淨化設定檔
它會移除 Redact 與檔案附件註解、trailer 的文件資訊字典、Catalog 或頁面 XMP 中繼資料、私有的 /PieceInfo 中繼資料、內嵌檔名稱樹、關聯檔案、portfolio,以及它們分離出的承載串流
接著進行一次可處理迴圈的可達性掃描,刪除所有再也無法從 Catalog 抵達的間接物件,包括未使用的字型、字型程式、影像、Form XObject、中繼資料串流、註解與承載物件;仍存活的物件編號則以線性時間壓實
此方法會停用增量儲存,並強制下一次已載入文件儲存執行完整改寫,被移除的位元組因此不可能殘留在較早的修訂版本中
無關的動作、頁面內容、導覽、表單與註解都會保留;若連活躍內容也要一併移除,請使用 SanitiseLoadedDocument
報告欄位
MetadataEntriesRemoved、RedactAnnotationsRemoved、EmbeddedFilesRemoved、PayloadStreamsRemoved、UnreachableObjectsRemoved 與 PriorRevisionBytesDiscarded 提供清理遙測數據
範例
var
Report: THPDFSanitiseReport;
begin
PDF.LoadFromFile('redacted-source.pdf');
PDF.ApplyLoadedRedactions;
if not PDF.ScrubLoadedRedactionRemnants(Report) then
raise Exception.Create('Redaction cleanup was rejected');
PDF.SaveLoadedDocument('redacted-final.pdf');
end;
另請參閱 ApplyLoadedRedactions 與 已載入文件淨化