|
Compression – přehled
Přehled
HotPDF používá několik kompresních a dekompresních cest podle toho, zda
vytváří nový obsah PDF, nebo čte existující streamy a obrázky z externích souborů
Hlavní kompresní cesty
- FlateDecode: používá se pro generované PDF streamy přes THotPDF.Compression a je založený na zlib-ng v režimu kompatibilním se zlib, s 64bitovým runtime SIMD dispatch tam, kde je k dispozici
- CompressionLevel: THotPDF.CompressionLevel vybírá
clNone, clFastest, clDefault nebo clMaximum pro rozšířené cesty Flate
- LZWDecode: podporován pro starší data PDF a data ve stylu TIFF přes HPDFLZW.pas
- DCT/JPEG: používá se pro standardní pracovní postupy obrázků JPEG obsluhované obrazovou podporou HotPDF a založené na libjpeg-turbo 3.1.90 s akceleračními objekty NASM SIMD
- JBIG2 a JPEG2000: dostupné pro specializované obrazové pracovní postupy, kde zdrojový formát už tyto kodeky používá
Strukturální zmenšení pro PDF 1.5+
Pro výstup PDF 1.5+ může HotPDF nad streamy komprimované pomocí FlateDecode
vrstvit dvě další strukturální kompresní cesty. Obě jsou volitelné a přirozeně
se doplňují:
- UseXRefStream: nahradí textovou tabulku křížových odkazů
xref ... trailer komprimovaným streamem /Type /XRef (ISO 32000-1 7.5.8). U velkých dokumentů zmenší režii xref přibližně 4-10x
- UseObjectStreams: sbalí malé nepřímé slovníky (vícestránkové dokumenty, anotace, widgety AcroForm, prvky stromu struktury, vrstvy Optional Content) do kontejnerových streamů
/Type /ObjStm (ISO 32000-1 7.5.7) odkazovaných přes položky xref typu 2. Vyžaduje zapnuté také UseXRefStream. Třicetistránkový grafický smoke se s oběma přepínači zmenší z 14502 na 8488 bajtů (-41,5 %)
- Dekomprese při kopírování: DecompressForCopy a
OriginallyCompressed popisují, jak kopírovací cesty načtených dokumentů materializují komprimované zdrojové streamy
Související unity
- HPDFZLib.pas pro FlateDecode a pomocné inflate funkce s podporou prediktorů
- HPDFLZW.pas pro dekompresi LZW
- HPDFJBIG2.pas pro podporu dekódování JBIG2
- HPDFJpeg2000.pas a HPDFOpenJpeg.pas pro pracovní postupy související s JPEG2000
Viz také
|