|
JBIG2 Compression Support
Oversikt
HotPDF inkluderer nå omfattende støtte for JBIG2-komprimering (Joint Bi-level Image Experts Group 2)
JBIG2 er en komprimeringsstandard med eller uten tap, spesielt utviklet for to-nivåbilder (monokrome),
og brukes ofte i PDF-dokumenter for skannede tekstsider og strektegninger
Viktige funksjoner
- Høyeffektiv komprimering for to-nivåbilder
- Støtte for både tapsbaserte og tapsfrie komprimeringsmoduser
- Optimalisert for komprimering av tekst og strektegninger
- Betydelig mindre filstørrelse sammenlignet med tradisjonelle komprimeringsmetoder
- Full støtte for PDF/A-samsvar
- Støtte for flersidige dokumenter med delte ordbøker
Kompresjonsfordeler
- Bedre kompresjonsforhold: Opptil 3-5x bedre komprimering enn Group 4 CCITT
- Mønstergjenkjenning: Intelligent gjenkjenning av gjentatte mønstre og symboler
- Adaptiv komprimering: Justerer automatisk komprimeringsstrategien etter innholdstype
- Minneeffektiv: Optimalisert for behandling av store skannede dokumenter
Typiske bruksområder
- Skannede tekstdokumenter
- Tekniske tegninger og plantegninger
- Skjemaer og fakturaer
- Kart og diagrammer
- Dokumenter med blandet innhold av tekst og grafikk
Teknisk implementering
JBIG2-støtten er implementert gjennom unit-en HPDFJBIG2.pas, som tilbyr:
- THPDFJBIG2Decoder: Kjernedekoderklasse for JBIG2-komprimerte data
- Strømbehandling: Effektiv håndtering av JBIG2-datastrømmer
- Støtte for global ordbok: Delte symbolordbøker for flersidige dokumenter
- Scanline-tilgang: Radvis datatilgang for minneeffektiv behandling
Brukseksempel
// 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;
Klassereferanse
THPDFJBIG2Decoder
- LoadFromByteArray: Laster JBIG2-data fra byte-array
- GetScanline: Henter bestemte scanline-data
- Width/Height: Egenskaper for bildedimensjoner
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
See Also
|