DecodeAllStreams

文件屬性、最佳化

描述

就地展開所選文件中每個單純的 FlateDecode 串流,讓儲存後的檔案帶有可讀的內容串流、中繼資料與結構

語法

Delphi

Function TPDFlib.DecodeAllStreams: Integer;

傳回值

0未選取文件,或沒有東西可展開。
N已展開的串流數量。

備註

壓縮的物件串流會先具體化,成員才能在展開後保留。影像 XObject 維持原編碼(展開只會讓檔案暴增,可讀性毫無 gain);帶預測參數的串流、多重 filter 鏈與交叉參照串流也一樣。損毀的資料保持原狀,不會被截斷

搭配 SetObjectStreamMode(0) 讓所有物件都在頂層,結果就是一份完全展開的副本,diff 工具、鑑識審查與支援案例都能直接閱讀——正是 RecompressStreams 的反向操作。

範例

PDF.LoadFromFile('packed.pdf', '');
PDF.DecodeAllStreams;
PDF.SetObjectStreamMode(0);
PDF.SaveToFile('expanded.pdf');

另見

RecompressStreams, SetObjectStreamMode, CompressContent, CheckDocumentStructure