CompressContent

Vlastnosti dokumentu

Popis

Zkomprimuje každý obsahový proud stránek v aktuálně vybraném dokumentu. Použije se algoritmus Flate (zlib), takže výsledné proudy při uložení dokumentu nesou filtr /FlateDecode. Už zkomprimované proudy zůstanou beze změny

Na Windows se přibalený backend zlib-ng používá v režimu kompatibilním se zlib. Sestavení Win64 linkují SIMD sadu runtime objektů zlib-ng pro bcc64x; Win32 ponechává obecnou sadu objektů zaměřenou na kompatibilitu. Stávající kód Delphi, ActiveX, DLL i C++Builder nevyžaduje žádné změny zdrojáků

Syntaxe

Delphi

Function TPDFlib.CompressContent: Integer;

ActiveX

Function PDFlib::CompressContent() As Long

DLL

int DLCompressContent(int InstanceID);

Návratové hodnoty

0No document is open or compression failed.
1Page content streams were compressed successfully.

Poznámky

Jde o operaci přes celý dokument. Pokud potřebujete zkomprimovat jen aktuálně vybranou stránku, použijte CompressPage. Zda se nově přidávané obrázky a fonty ukládají komprimované, řídí samostatně CompressImages a CompressFonts

Spusťte to jednou před SaveToFile, když zmenšujete čerstvě postavený dokument; úspora bývá velká u stránek plných textu a zanedbatelná u stránek složených hlavně z předem zkomprimovaných obrazových dat

Příklad

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

Viz také

CompressPage, CompressImages, CompressFonts, SaveToFile