|
JBIG2 Compression Support
Yleiskatsaus
HotPDF sisältää nyt kattavan JBIG2-pakkaustuen (Joint Bi-level Image Experts Group 2). JBIG2 on häviöllinen tai häviötön pakkausstandardi, joka on suunniteltu erityisesti kaksitasoisille (yksivärisille) kuville ja jota käytetään yleisesti PDF-dokumenteissa skannatuille tekstisivuille ja viivapiirroksille
Key Features
- Erittäin tehokas pakkaus kaksitasoisille kuville
- Tuki sekä häviöllisille että häviöttömille pakkaustiloille
- Optimoitu teksti- ja viivagrafiikan pakkaukseen
- Merkittävä tiedostokoon pienennys perinteisiin pakkausmenetelmiin verrattuna
- Full PDF/A compliance support
- Monisivuisten asiakirjojen tuki jaetuilla sanakirjoilla
Compression Benefits
- Ylivoimaiset pakkaussuhteet: Jopa 3–5 kertaa parempi pakkaus kuin Group 4 CCITT -standardissa
- Kuviontunnistus: Toistuvien kuvioiden ja symbolien älykäs tunnistus
- Adaptive Compression: Automatically adjusts compression strategy based on content type
- Muistitehokas: Optimoitu suurten skannattujen dokumenttien käsittelyyn
Typical Use Cases
- Scanned text documents
- Tekniset piirustukset ja piirustuspohjat
- Lomakkeet ja laskut
- Kartat ja kaaviot
- Sekasisältöiset asiakirjat, joissa on tekstiä ja grafiikkaa
Technical Implementation
JBIG2-tuki on toteutettu yksikössä HPDFJBIG2.pas, joka tarjoaa
- THPDFJBIG2Decoder: Core decoder class for JBIG2 compressed data
- Virtakäsittely: Tehokas käsittely JBIG2-tietovirroille
- Globaali sanakirjatuki: Jaetut symbolisanakirjat monisivuisia dokumentteja varten
- Scanline-pääsy: Rivikohtainen pääsy tietoon muistitehokasta käsittelyä varten
Usage Example
// 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: Lataa JBIG2-tieto tavutaulukosta
- GetScanline: Retrieve specific scanline data
- Width/Height: Image dimensions properties
Performance Optimization
- Memory-efficient scanline processing
- Optimoitu suurten asiakirjojen käsittelyyn
- 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
See Also
|