|
Soporte de compresión JBIG2
Descripción general
HotPDF ahora incluye compatibilidad completa con compresión JBIG2 (Joint Bi-level Image Experts Group 2)
JBIG2 es un estándar de compresión con pérdida o sin pérdida diseñado específicamente para imágenes binivel (monocromas),
comúnmente usado en documentos PDF para páginas de texto escaneadas y arte lineal
Funciones clave
- Compresión de alta eficiencia para imágenes binivel
- Compatibilidad con modos de compresión con pérdida y sin pérdida
- Optimizado para compresión de texto y arte lineal
- Reducción significativa del tamaño de archivo frente a métodos de compresión tradicionales
- Compatibilidad completa con conformidad PDF/A
- Compatibilidad con documentos multipágina mediante diccionarios compartidos
Ventajas de compresión
- Relaciones de compresión superiores: Hasta 3-5 veces mejor compresión que Group 4 CCITT
- Reconocimiento de patrones: Reconocimiento inteligente de patrones y símbolos repetidos
- Compresión adaptativa: Ajusta automáticamente la estrategia de compresión según el tipo de contenido
- Eficiente en memoria: Optimizado para procesar documentos escaneados grandes
Casos de uso típicos
- Documentos de texto escaneados
- Dibujos técnicos y planos
- Formularios y facturas
- Mapas y diagramas
- Documentos de contenido mixto con texto y gráficos
Implementación técnica
El soporte JBIG2 se implementa mediante la unidad HPDFJBIG2.pas, que ofrece:
- THPDFJBIG2Decoder: Clase decodificadora principal para datos comprimidos JBIG2
- Procesamiento de flujos: Manejo eficiente de flujos de datos JBIG2
- Compatibilidad con diccionario global: Diccionarios de símbolos compartidos para documentos multipágina
- Acceso por scanline: Acceso a datos fila por fila para procesamiento eficiente en memoria
Usage Ejemplo
// Delphi example - Processing JBIG2 compressed data
procedure ProcessJBIG2Data;
var
PDF: THotPDF;
Decoder: THPDFJBIG2Decoder;
ImageData: TBytesArray;
ScanlineData: TBytesArray;
Row: Integer;
begin
PDF := THotPDF.Create(nil);
Decoder := THPDFJBIG2Decoder.Create;
try
PDF.BeginDoc;
PDF.AddPage;
// Load JBIG2 compressed image data
if Decoder.LoadFromByteArray(ImageData) then
begin
// Process scanline by scanline for memory efficiency
for Row := 0 to Decoder.Height - 1 do
begin
if Decoder.GetScanline(Row, ScanlineData) then
begin
// Process scanline data as needed
// Add to PDF page
end;
end;
end;
PDF.EndDoc;
finally
Decoder.Free;
PDF.Free;
end;
end;
Class Reference
THPDFJBIG2Decoder
- LoadFromByteArray: Load JBIG2 data from byte array
- GetScanline: Retrieve specific scanline data
- Width/Height: Image dimensions properties
Performance Optimization
- Memory-efficient scanline processing
- Optimized for large document handling
- Minimal memory footprint during decompression
- Fast pattern recognition algorithms
Standards Compliance
- ITU-T T.88 standard compliance
- ISO/IEC 14492 standard support
- PDF/A archival format compatibility
- Cross-platform consistency
Véase también
|