Compression Overview

Prehľad

HotPDF používa viacero ciest kompresie a dekompresie podľa toho, či generuje nový obsah PDF, alebo načítava existujúce prúdy a obrázky z externých súborov

Main Compression Paths

  • FlateDecode: používa sa pre generované PDF streamy cez THotPDF.Compression a je podložený zlib-ng v režime kompatibilnom so zlib, s 64-bitovým runtime SIMD rozdeľovaním tam, kde je dostupné
  • CompressionLevel: THotPDF.CompressionLevel selects clNone, clFastest, clDefault, or clMaximum for enhanced Flate paths.
  • LZWDecode: podporované pre legacy PDF a TIFF-style dáta cez HPDFLZW.pas
  • DCT/JPEG: používa sa pre štandardné pracovné postupy s obrázkami JPEG, ktoré spracúva podpora obrázkov HotPDF, a je podložený libjpeg-turbo 3.1.90 s akceleráciou cez objekty NASM SIMD
  • JBIG2 a JPEG2000: dostupné pre špecializované obrazové workflowy, kde zdrojový formát už tieto kodeky používa

PDF 1.5+ structural size reduction

Pre výstup PDF 1.5+ vie HotPDF nad prúdy komprimované pomocou FlateDecode pridať dve ďalšie štrukturálne kompresné cesty Obe sú voliteľné a prirodzene sa dopĺňajú:

  • UseXRefStream: Nahraďte textovú cross-reference tabuľku xref ... trailer komprimovaným prúdom /Type /XRef (ISO 32000-1 7.5.8) Znižuje réžiu xref o 4- až 10-násobok pri veľkých dokumentoch
  • UseObjectStreams: Zabaľte malé nepriame slovníky (viacstranové dokumenty, anotácie, widgety AcroForm, prvky stromu štruktúry, vrstvy Optional Content) do kontajnerových prúdov /Type /ObjStm (ISO 32000-1 7.5.7) odkazovaných cez xref položky typu 2 Vyžaduje, aby bol zapnutý aj UseXRefStream Pri 30-stranovom smoke len s grafikou sa veľkosť zmenší z 14502 na 8488 bajtov (-41,5 %) pri kombinácii oboch prepínačov
  • Kopírovacia dekompresia: DecompressForCopy a OriginallyCompressed opisujú, ako cesty kopírovania načítaného dokumentu materializujú komprimované zdrojové prúdy

Related Units

  • HPDFZLib.pas pre FlateDecode a pomocné funkcie inflate s podporou prediktora
  • HPDFLZW.pas pre dekompresiu LZW
  • HPDFJBIG2.pas pre podporu dekódovania JBIG2
  • HPDFJpeg2000.pas a HPDFOpenJpeg.pas pre pracovné postupy súvisiace s JPEG2000

See Also