Komprimierungsübersicht

Übersicht

HotPDF verwendet verschiedene Komprimierungs- und Dekomprimierungspfade, je nachdem, ob neue PDF-Inhalte generiert oder vorhandene Ströme und Bilder aus externen Dateien gelesen werden

Hauptkomprimierungspfade

  • FlateDecode: Verwendet für generierte PDF-Ströme über THotPDF.Compression und unterstützt von zlib-ng im zlib-kompatiblen Modus mit 64-Bit-Laufzeit-SIMD-Dispatch, wo verfügbar
  • CompressionLevel: THotPDF.CompressionLevel wählt clNone, clFastest, clDefault oder clMaximum für erweiterte Flate-Pfade aus
  • LZWDecode: Unterstützt für ältere PDF- und TIFF-Daten über HPDFLZW.pas
  • DCT/JPEG: Verwendet für Standard-JPEG-Bildworkflows, die über die Bildunterstützung von HotPDF verarbeitet und durch libjpeg-turbo 3.1.90 mit NASM-SIMD-Beschleunigungsobjekten unterstützt werden
  • JBIG2 und JPEG2000: Verfügbar für spezialisierte Bildworkflows, bei denen das Quellformat bereits diese Codecs verwendet

Strukturelle Größenreduzierung für PDF 1.5+

Für die PDF 1.5+-Ausgabe kann HotPDF zwei zusätzliche strukturelle Komprimierungspfade über FlateDecode-komprimierten Strömen schichten. Beide sind optional und ergänzen sich perfekt:

  • UseXRefStream: Ersetzt die textuelle xref ... trailer-Kreuzreferenztabelle durch einen komprimierten /Type /XRef-Strom (ISO 32000-1 7.5.8). Reduziert den xref-Overhead bei großen Dokumenten um das 4- bis 10-fache
  • UseObjectStreams: Packt kleine indirekte Wörterbücher (mehrseitige Dokumente, Anmerkungen, AcroForm-Widgets, Strukturbaumelemente, optionale Inhaltsbereiche) in /Type /ObjStm-Containerströme (ISO 32000-1 7.5.7), die über Typ-2-xref-Einträge referenziert werden. Erfordert, dass UseXRefStream ebenfalls aktiviert ist. Ein 30-seitiges Dokument, das nur Grafiken enthält, schrumpft von 14502 auf 8488 Bytes (-41.5%), wenn beide Optionen kombiniert werden
  • Copy-Dekomprimierung: DecompressForCopy und OriginallyCompressed beschreiben, wie Kopierpfade für geladene Dokumente komprimierte Quellströme materialisieren

Verwandte Units

  • HPDFZLib.pas für FlateDecode und Predictor-sensitive Inflate-Hilfsmittel
  • HPDFLZW.pas für LZW-Dekomprimierung
  • HPDFJBIG2.pas für JBIG2-Dekodierungsunterstützung
  • HPDFJpeg2000.pas und HPDFOpenJpeg.pas für JPEG2000-bezogene Workflows

Siehe auch