Compression Overview

Oversikt

HotPDF bruker flere komprimerings- og dekomprimeringsbaner avhengig av om den genererer nytt PDF-innhold eller leser eksisterende strømmer og bilder fra eksterne filer

Hovedbaner for komprimering

  • FlateDecode: brukes for genererte PDF-strømmer gjennom THotPDF.Compression og støttes av zlib-ng i zlib-kompatibel modus, med 64-biters SIMD-distribusjon ved kjøring der det er tilgjengelig
  • CompressionLevel: THotPDF.CompressionLevel velger clNone, clFastest, clDefault eller clMaximum for forbedrede Flate-baner
  • LZWDecode: støttes for eldre PDF- og TIFF-lignende data gjennom HPDFLZW.pas
  • DCT/JPEG: brukes for vanlige JPEG-bildearbeidsflyter håndtert av HotPDFs bildestøtte og støttet av libjpeg-turbo 3.1.90 med NASM-SIMD-akselerasjonsobjekter
  • JBIG2 og JPEG2000: tilgjengelig for spesialiserte bildearbeidsflyter der kildeformatet allerede bruker disse kodekene

Strukturell størrelsesreduksjon i PDF 1.5+

For PDF 1.5+-utdata kan HotPDF legge to ekstra strukturelle komprimeringsbaner oppå FlateDecode-komprimerte strømmer. Begge er valgfrie og passer naturlig sammen

  • UseXRefStream: Erstatter den tekstlige kryssreferansetabellen xref ... trailer med en komprimert /Type /XRef-strøm (ISO 32000-1 7.5.8). Reduserer xref-overhead med 4-10x i store dokumenter
  • UseObjectStreams: Pakker små indirekte ordbøker (flersidige dokumenter, annotasjoner, AcroForm-widgeter, strukturtre-elementer, Optional Content-lag) i /Type /ObjStm-containerstrømmer (ISO 32000-1 7.5.7) som refereres gjennom type 2-xref-oppføringer. Krever at UseXRefStream også er aktivert. En 30-siders smoke-test med bare grafikk krymper fra 14502 til 8488 byte (-41.5%) når de to bryterne kombineres
  • Kopidekomprimering: DecompressForCopy og OriginallyCompressed beskriver hvordan kopibaner for innlastede dokumenter materialiserer komprimerte kildestrømmer

Relaterte units

  • HPDFZLib.pas for FlateDecode og inflate-hjelpere som tar hensyn til predictor
  • HPDFLZW.pas for LZW-dekomprimering
  • HPDFJBIG2.pas for støtte for JBIG2-dekoding
  • HPDFJpeg2000.pas og HPDFOpenJpeg.pas for JPEG2000-relaterte arbeidsflyter

Se også