CompressContent

文件屬性

描述

壓縮目前所選文件中的每個頁面內容串流。使用 Flate(zlib)演算法,文件儲存時這些串流便帶有 /FlateDecode filter。已壓縮的串流保持原樣。

在 Windows 上,隨附的 zlib-ng 後端以 zlib 相容模式運作。Win64 版連結 bcc64x 的 zlib-ng runtime 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