|
THotPDF.UseObjectStreams
|
顶部 上一页 下一页 |
|
Pack eligible indirect objects into PDF 1.5
Delphi 语法: property UseObjectStreams: Boolean;
C++ 语法: __property bool UseObjectStreams;
说明 UseObjectStreams 为 true(且 UseXRefStream 也为 true)时,EndDoc 按 ISO 32000-1 7.5.7 把每个符合条件的间接对象——字典、数组、数字、名称、字符串、布尔、null——打包进一个或多个
与 UseXRefStream 属性天然搭配,构成最紧凑的 PDF 1.5+ 写入管线。ObjStm 打包器让流对象、加密字典以及 trailer 指向的 Catalog 与 Info 字典保持未压缩,即便最小的 PDF 解析器也能定位文档根并解密内容。
默认值: false(可选开启)。 UseXRefStream 关闭时(type-2 条目按规范无法在文本 xref 表中表示),或 Version 低于 PDF 1.5 时,把 UseObjectStreams 设为 true 会静默降级为 false。
PDF/A-1 下还会被强制关闭:ISO 19005-1(PDF 1.4,第 6.1.4 条)禁止压缩对象流与其依托的交叉引用流,因此只要 PDFACompliance 指定 part-1 级别,EndDoc 就输出经典 xref 表;PDF/A-2 与 PDF/A-3(PDF 1.7)下仍可用
代码示例
Size reduction 对于由小型 indirect dictionaries 主导的文档(多页文档、annotations、AcroForm widgets、structure-tree elements、Optional Content layers),节省通常可达到 post-FlateDecode 文件大小的 20-40%。30 页 graphics-only smoke test 从 14502 bytes 缩小到 8488 bytes(-41.5%)
另请参阅 UseXRefStream, Compression, Version, PDF 过滤器支持
|