|
Compression Resumen
Descripción general
HotPDF utiliza varias rutas de compresión y descompresión según esté generando nuevo contenido PDF o leyendo flujos e imágenes existentes desde archivos externos
Main Compression Paths
- FlateDecode: usado para flujos PDF generados mediante THotPDF.Compression y respaldado por zlib-ng en modo compatible con zlib, con despacho SIMD de 64 bits en tiempo de ejecución cuando está disponible
- CompressionLevel: THotPDF.CompressionLevel selecciona
clNone, clFastest, clDefault o clMaximum para rutas Flate mejoradas.
- LZWDecode: admitido para datos PDF heredados y datos de estilo TIFF mediante HPDFLZW.pas
- DCT/JPEG: usado para flujos de imagen JPEG estándar manejados por el soporte de imágenes de HotPDF y respaldado por libjpeg-turbo 3.1.90 con objetos de aceleración NASM SIMD
- JBIG2 and JPEG2000: disponible para flujos de imagen especializados donde el formato de origen ya usa esos códecs
PDF 1.5+ structural size reduction
Para salida PDF 1.5+, HotPDF puede superponer dos rutas adicionales de compresión estructural sobre los flujos comprimidos con FlateDecode. Ambas son opcionales y combinan de forma natural:
- UseXRefStream: Replace the textual
xref ... trailer cross-reference table with a compressed /Type /XRef stream (ISO 32000-1 7.5.8). Cuts xref overhead by 4-10x on large documents.
- UseObjectStreams: empaqueta diccionarios indirectos pequeños (documentos multipágina, anotaciones, widgets AcroForm, elementos de árbol de estructura, capas Optional Content) en flujos contenedores
/Type /ObjStm (ISO 32000-1 7.5.7) referenciados mediante entradas xref de tipo 2. Requiere que UseXRefStream también esté activado. Una prueba smoke de 30 páginas solo con gráficos se reduce de 14502 a 8488 bytes (-41.5%) con ambos conmutadores combinados
- Descompresión para copia: DecompressForCopy y
OriginallyCompressed describen cómo las rutas de copia materializan flujos fuente comprimidos.
Related Units
- HPDFZLib.pas for FlateDecode and predictor-aware inflate helpers
- HPDFLZW.pas for LZW decompression
- HPDFJBIG2.pas for JBIG2 decoding support
- HPDFJpeg2000.pas and HPDFOpenJpeg.pas for JPEG2000-related workflows
Véase también
|