Pregled kompresije

Pregled

HotPDF koristi više putanja kompresije i dekompresije u zavisnosti od toga da li generiše novi PDF sadržaj ili čita postojeće strimove i slike iz spoljnih fajlova

Main Compression Paths

  • FlateDecode: koristi se za generisane PDF strimove kroz THotPDF.Compression i oslanja se na zlib-ng u zlib-kompatibilnom režimu, sa 64-bitnim runtime SIMD dispatch-om gde je dostupan
  • CompressionLevel: THotPDF.CompressionLevel selects clNone, clFastest, clDefault, or clMaximum for enhanced Flate paths.
  • LZWDecode je podržan za legacy PDF i podatke u TIFF stilu preko HPDFLZW.pas
  • DCT/JPEG: koristi se za standardne JPEG tokove slika koje obrađuje HotPDF podrška za slike i oslanja se na libjpeg-turbo 3.1.90 sa NASM SIMD akceleracionim objektima
  • JBIG2 i JPEG2000: dostupni su za specijalizovane tokove slika gde izvorni format već koristi te kodeke

Strukturno smanjenje veličine za PDF 1.5+

Za izlaz u PDF 1.5+ HotPDF može da složi još dva dodatna strukturna toka kompresije preko FlateDecode-komprimovanih tokova. Oba su opciona i prirodno se kombinuju:

  • UseXRefStream: zamenjuje tekstualnu xref ... trailer unakrsno-referentnu tabelu kompresovanim /Type /XRef strimom (ISO 32000-1 7.5.8). Smanjuje xref režiju 4-10 puta na velikim dokumentima
  • UseObjectStreams: pakuje male indirektne rečnike (višestrani dokumenti, anotacije, AcroForm widgeti, elementi stabla strukture, Optional Content slojevi) u /Type /ObjStm kontejnerske strimove (ISO 32000-1 7.5.7) na koje se upućuje kroz type-2 xref unose. Zahteva da i UseXRefStream bude uključen. Smoke od 30 stranica samo sa grafikom smanjuje se sa 14502 na 8488 bajtova (-41.5%) kada su obe opcije uključene
  • Copy decompression: DecompressForCopy and OriginallyCompressed describe how loaded-document copy paths materialize compressed source streams.

Related Units

  • HPDFZLib.pas for FlateDecode and predictor-aware inflate helpers
  • HPDFLZW.pas for LZW decompression
  • HPDFJBIG2.pas for JBIG2 decoding support
  • HPDFJpeg2000.pas i HPDFOpenJpeg.pas za JPEG2000 povezane tokove rada

Vidi i