|
Resumen de compresión
Descripción general
HotPDF usa varias rutas de compresión y descompresión según si está
generando contenido PDF nuevo o leyendo flujos e imágenes existentes de archivos externos
Rutas principales de compresión
- FlateDecode: Se usa para los flujos PDF generados a través de THotPDF.Compression y está respaldado por zlib-ng en modo compatible con zlib, con despacho SIMD en tiempo de ejecución de 64 bits cuando está disponible
- CompressionLevel: THotPDF.CompressionLevel selecciona
clNone, clFastest, clDefault o clMaximum para rutas Flate mejoradas
- LZWDecode: Compatible con datos heredados de PDF y de estilo TIFF a través de HPDFLZW.pas
- DCT/JPEG: Se usa para flujos de trabajo estándar de imágenes JPEG gestionados por el soporte de imágenes de HotPDF y respaldados por libjpeg-turbo 3.1.90 con objetos de aceleración SIMD de NASM
- JBIG2 y JPEG2000: Disponible para flujos de trabajo de imagen especializados cuando el formato de origen ya usa esos códecs
Reducción estructural de tamaño en PDF 1.5+
Para salida PDF 1.5+ HotPDF puede superponer dos rutas adicionales de compresión estructural sobre flujos comprimidos con FlateDecode. Ambas son opcionales y se complementan de forma natural:
- UseXRefStream: Reemplaza la tabla textual de referencias cruzadas
xref ... trailer por un flujo comprimido /Type /XRef (ISO 32000-1 7.5.8) y reduce la sobrecarga de 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 estructura, capas de contenido opcional) en flujos contenedor
/Type /ObjStm (ISO 32000-1 7.5.7) referenciados mediante entradas xref de tipo 2. Requiere que UseXRefStream también esté activado. Una prueba de 30 páginas solo con gráficos se reduce de 14502 a 8488 bytes (-41.5%) con ambas opciones combinadas
- Descompresión para copia: DecompressForCopy y
OriginallyCompressed describen cómo las rutas de copia materializan flujos fuente comprimidos
Unidades relacionadas
- HPDFZLib.pas para FlateDecode y ayudantes de inflate con conocimiento de predictores
- HPDFLZW.pas para descompresión LZW
- HPDFJBIG2.pas para soporte de decodificación JBIG2
- HPDFJpeg2000.pas y HPDFOpenJpeg.pas para flujos de trabajo relacionados con JPEG2000
Véase también
|