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');

另请参阅

CompressPage、CompressImages、CompressFonts、SaveToFile