NormalizeLZWStreams

文档管理

说明

将每个使用 LZWDecode 过滤的流重写为 FlateDecode。解压时会遵循 Predictor、Columns、Colors 和 BitsPerComponent 解码参数;单个 LZWDecode /Filter 条目会被整体替换,而在过滤器数组中,LZWDecode 条目会原位替换,以保持链式过滤器的顺序

LZW 解码对两种 EarlyChange 值都遵循标准的码宽切换,包括字典重置和数据结束码

语法

Delphi

Function TPDFlib.NormalizeLZWStreams: Integer;

返回值

已转换的流数量;所选文档不含 LZWDecode 流时返回 0

备注

LZWDecode 可追溯至 PDF 1.0,多个严格输出配置和下游工具更偏好 FlateDecode,因此在规范化旧版文档时请在保存前运行此处理。转换是无损的:解压后的字节会使用 Deflate 重新压缩,流字典保留其余条目

示例

PDF.LoadFromFile('legacy.pdf', '');
PDF.NormalizeLZWStreams;
PDF.SaveToFile('legacy-normalized.pdf');