Compression Overzicht

Overzicht

HotPDF gebruikt meerdere compressie- en decompressiepaden, afhankelijk van of het nieuwe PDF-inhoud genereert of bestaande streams en afbeeldingen uit externe bestanden leest

Main Compression Paths

  • FlateDecode: Gebruikt voor gegenereerde PDF-streams via THotPDF.Compression en ondersteund door zlib-ng in zlib-compatibele modus, met 64-bits runtime-SIMD-dispatch waar beschikbaar
  • CompressionLevel: THotPDF.CompressionLevel kiest clNone, clFastest, clDefault of clMaximum voor verbeterde Flate-paden
  • LZWDecode: Ondersteund voor oudere PDF- en TIFF-achtige gegevens via HPDFLZW.pas
  • DCT/JPEG: Gebruikt voor standaard JPEG-beeldworkflows die worden verwerkt door de HotPDF-afbeeldingsondersteuning en ondersteund door libjpeg-turbo 3.1.90 met NASM SIMD-versnellingsobjecten
  • JBIG2 and JPEG2000: Beschikbaar voor gespecialiseerde beeldworkflows waarbij het bronformaat die codecs al gebruikt

Structurele verkleining voor PDF 1.5+

Voor uitvoer in PDF 1.5+ kan HotPDF boven op FlateDecode-gecomprimeerde streams twee extra structurele compressiepaden toepassen. Beide zijn optioneel en vullen elkaar goed aan

  • UseXRefStream: Vervangt de tekstuele xref ... trailer-tabel met verwijzingen door een gecomprimeerde /Type /XRef-stream (ISO 32000-1 7.5.8). Vermindert de xref-overhead op grote documenten met een factor 4 tot 10
  • UseObjectStreams: Pakt kleine indirecte woordenboeken (meerpagina-documenten, annotaties, AcroForm-widgets, structuurtrее-elementen, Optional Content-lagen) in /Type /ObjStm-containerstreams (ISO 32000-1 7.5.7) waarnaar via xref-items van type 2 wordt verwezen. Vereist dat UseXRefStream ook is ingeschakeld. Een grafische smoke van 30 pagina's krimpt van 14502 naar 8488 bytes (-41,5%) met de twee schakelaars samen
  • Kopie-decompressie: DecompressForCopy en OriginallyCompressed beschrijven hoe gecomprimeerde bronstreams worden gematerialiseerd

Gerelateerde units

  • HPDFZLib.pas voor FlateDecode en inflate-hulpfuncties die rekening houden met predictors
  • HPDFLZW.pas voor LZW-decompressie
  • HPDFJBIG2.pas voor JBIG2-decodering
  • HPDFJpeg2000.pas en HPDFOpenJpeg.pas voor JPEG2000-gerelateerde workflows

Zie ook