|
Panorama de la compresión Visión general HotPDF usa varias rutas de compresión y descompresión según si está generando contenido PDF nuevo o leyendo streams e imágenes existentes de archivos externos. Rutas de compresión principales - FlateDecode: usado para los streams PDF generados mediante THotPDF.Compression y respaldado por zlib-ng en modo compatible con zlib, con despacho SIMD de 64 bits en runtime donde esté disponible; los flujos de alta relación de streams cargados pueden añadir un pase Zopfli con presupuesto que solo se selecciona cuando resulta menor que el mejor resultado zlib
- CompressionLevel: THotPDF.CompressionLevel selecciona
clNone, clFastest, clDefault o clMaximum para las rutas Flate mejoradas. - LZWDecode: soportado para datos PDF legados y de estilo TIFF mediante HPDFLZW.pas
- DCT/JPEG: usado para los flujos de imágenes JPEG estándar que maneja el soporte de imágenes de HotPDF, respaldado por libjpeg-turbo 3.1.90 con objetos de aceleración SIMD de NASM
- JBIG2 y JPEG2000: disponibles para flujos de imagen especializados donde el formato fuente ya usa esos códecs
Reducción estructural de tamaño PDF 1.5+ Para salida PDF 1.5+ HotPDF puede superponer dos rutas adicionales de compresión estructural sobre los streams comprimidos con FlateDecode. Ambas son opcionales y combinan de forma natural: - UseXRefStream: reemplaza la tabla de referencias cruzadas textual
xref ... trailer por un stream comprimido /Type /XRef (ISO 32000-1 7.5.8). Recorta la sobrecarga xref entre 4 y 10 veces en documentos grandes. - UseObjectStreams: empaqueta diccionarios indirectos pequeños (documentos multipágina, anotaciones, widgets AcroForm, elementos de árbol de estructuras, capas de Optional Content) en streams contenedores
/Type /ObjStm (ISO 32000-1 7.5.7) referenciados mediante entradas xref de tipo 2. Requiere que UseXRefStream también esté activo. Un smoke de 30 páginas solo gráficos se reduce de 14502 a 8488 bytes (-41,5%) combinando los dos interruptores. - Descompresión para copia: DecompressForCopy y
OriginallyCompressed describen cómo las rutas de copia de documentos cargados materializan los streams fuente comprimidos. Unidades relacionadas - HPDFZLib.pas para FlateDecode y helpers de inflate conscientes del predictor
- HPDFLZW.pas para descompresión LZW
- HPDFJBIG2.pas, HPDFJBIG2Codec.pas y HPDFJBIG2Enc.pas para codificación y decodificación JBIG2
- HPDFJpeg2000.pas y HPDFOpenJpeg.pas para los flujos relacionados con JPEG2000
Véase también
|