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
| 0 | No document is open or compression failed. |
|---|---|
| 1 | Page 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');