CompressContent
文档属性
描述
压缩当前所选文档中的每个页面内容流 使用 Flate(zlib)算法,因此保存文档时生成的流会带有 /FlateDecode 过滤器 已压缩的流保持不变
在 Windows 上,随附 zlib-ng 后端以 zlib 兼容模式使用,Win64 构建链接 bcc64x zlib-ng 运行时 SIMD 对象集,Win32 保留面向兼容性的通用对象集,现有 Delphi、ActiveX、DLL 和 C++Builder 代码无需更改源代码
语法
Delphi
Function TPDFlib.CompressContent: Integer;
ActiveX
Function PDFlib::CompressContent() As Long
DLL
int DLCompressContent(int InstanceID);
返回值
| 0 | 未打开文档或压缩失败 |
|---|---|
| 1 | 页面内容流已成功压缩 |
备注
这是文档范围的操作。如果只需压缩当前所选页面,请使用 CompressPage。要控制新添加的图像和字体是否以压缩形式存储,请分别使用 CompressImages 和 CompressFonts
若要缩小刚创建的文档,请在 SaveToFile 前调用一次此方法;对于文字内容较多的页面通常可大幅节省空间,而主要由已压缩图像数据构成的页面则几乎没有效果
示例
// Build a document, compress everything, then save
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Compressed document');
PDF.CompressContent; // page streams -> /FlateDecode
PDF.CompressImages(1); // also flate-encode any subsequent images
PDF.SaveToFile('compressed.pdf');