Pregled kompresije

Pregled

HotPDF koristi nekoliko putanja kompresije i dekompresije ovisno o tome generira li novi PDF sadržaj ili čita postojeće tokove i slike iz vanjskih datoteka

Glavne putanje kompresije

  • FlateDecode: koristi se za generirane PDF tokove kroz THotPDF.Compression i oslanja se na zlib-ng u zlib-kompatibilnom načinu rada, uz 64-bitno SIMD usmjeravanje u izvođenju gdje je dostupno
  • CompressionLevel: THotPDF.CompressionLevel odabire clNone, clFastest, clDefault ili clMaximum za poboljšane Flate putanje
  • LZWDecode: podržan je za starije PDF i TIFF-ovske podatke kroz HPDFLZW.pas
  • DCT/JPEG: koristi se za standardne JPEG slikovne tokove rada koje obrađuje HotPDF podrška za slike i oslanja se na libjpeg-turbo 3.1.90 s NASM SIMD akceleracijskim objektima
  • JBIG2 and JPEG2000: dostupni su za specijalizirane slikovne tokove rada kada izvorni format već koristi te kodeke

Strukturno smanjenje veličine za PDF 1.5+

Za izlazni PDF 1.5+ HotPDF može nadograditi još dvije strukturne kompresijske putanje preko streamova komprimiranih FlateDecodeom. Obje su uključive po izboru i prirodno se kombiniraju

  • UseXRefStream: zamjenjuje tekstualnu tablicu unakrsnih referenci xref ... trailer komprimiranim streamom /Type /XRef (ISO 32000-1 7.5.8). Smanjuje opterećenje xref-a 4-10 puta na velikim dokumentima
  • UseObjectStreams: pakira male neizravne rječnike (višestranični dokumenti, anotacije, AcroForm widgeti, elementi stabla strukture, slojevi Optional Content) u kontejnerske streamove /Type /ObjStm (ISO 32000-1 7.5.7) na koje se upućuje kroz xref zapise tipa 2. Zahtijeva da je i UseXRefStream uključen. Smoke za grafički dokument od 30 stranica smanjuje se s 14502 na 8488 bajtova (-41.5%) kada su obje opcije uključene
  • Copy decompression: DecompressForCopy i OriginallyCompressed opisuju kako putanje kopiranja učitanog dokumenta materijaliziraju komprimirane izvorne tokove

Povezane jedinice

  • HPDFZLib.pas za FlateDecode i inflate pomoćne funkcije svjesne prediktora
  • HPDFLZW.pas za LZW dekompresiju
  • HPDFJBIG2.pas za podršku dekodiranja JBIG2
  • HPDFJpeg2000.pas i HPDFOpenJpeg.pas za JPEG2000 povezane tokove rada

Vidi također