|
Обзор на компресията
Общ преглед
HotPDF използва няколко пътя за компресиране и декомпресиране в зависимост от това дали генерира ново PDF съдържание или чете съществуващи потоци и изображения от външни файлове
Основни пътища за компресия
- FlateDecode: Използва се за генерирани PDF потоци чрез THotPDF.Compression и е поддържан от zlib-ng в zlib-съвместим режим с 64-битово runtime SIMD разпределение, когато е налично
- CompressionLevel: THotPDF.CompressionLevel избира
clNone, clFastest, clDefault или clMaximum за разширените Flate пътища
- LZWDecode: Поддържа се за наследени PDF и TIFF-подобни данни чрез HPDFLZW.pas
- DCT/JPEG: Използва се за стандартни JPEG image работни потоци, обработвани от поддръжката на HotPDF за изображения и поддържани от libjpeg-turbo 3.1.90 с NASM SIMD ускорителни обекти
- JBIG2 and JPEG2000: Налични за специализирани image работни потоци, когато изходният формат вече използва тези кодеци
Намаляване на структурния размер за PDF 1.5+
За PDF 1.5+ изход HotPDF може да добавя два допълнителни структурни пътя за компресия върху потоци, вече компресирани с FlateDecode И двата са по избор и се комбинират естествено:
- UseXRefStream: Заменя текстовата таблица за кръстосани препратки
xref ... trailer с компресиран поток /Type /XRef (ISO 32000-1 7.5.8) Намалява режийните разходи за xref с 4-10x при големи документи
- UseObjectStreams: Пакетира малки косвени речници (многостранични документи, анотации, AcroForm widgets, елементи на structure-tree, Optional Content слоеве) в контейнерни потоци
/Type /ObjStm (ISO 32000-1 7.5.7), реферирани чрез type-2 xref записи Изисква и UseXRefStream да е включен Един 30-страничен graphics-only smoke се свива от 14502 до 8488 bytes (-41.5%) при комбиниране на двете настройки
- Копиране и декомпресия: DecompressForCopy и
OriginallyCompressed описват как пътищата за копиране на зареден документ материализират компресираните source потоци
Свързани units
- HPDFZLib.pas за помощни inflate функции за FlateDecode и predictor-aware обработка
- HPDFLZW.pas за LZW декомпресия
- HPDFJBIG2.pas за поддръжка на JBIG2 декодиране
- HPDFJpeg2000.pas и HPDFOpenJpeg.pas за работни потоци, свързани с JPEG2000
Виж също
|