|
JBIG2 Compression Support
Oversigt
HotPDF inkluderer nu omfattende JBIG2 (Joint Bi-level Image Experts Group 2) komprimeringsunderstøttelse
JBIG2 er en tabsgivende eller tabsfri komprimeringsstandard specifikt designet til to-niveau (monokrom) billeder,
almindeligvis brugt i PDF-dokumenter til scannede tekstsider og stregtegninger
Nøglefunktioner
- Højeffektiv komprimering til to-niveau billeder
- Understøttelse af både tabsgivende og tabsfri komprimeringshastigheder
- Optimeret til tekst- og stregtegningskomprimering
- Betydelig reduktion i filstørrelse sammenlignet med traditionelle komprimeringsmetoder
- Fuld understøttelse af PDF/A-overensstemmelse
- Understøttelse af flersidede dokumenter med delte ordbøger
Komprimeringsfordele
- Overlegne komprimeringsforhold:Op til 3-5x bedre komprimering end Group 4 CCITT
- Mønstergenkendelse:Intelligent genkendelse af gentagne mønstre og symboler
- Adaptiv komprimering:Justerer automatisk komprimeringsstrategi baseret på indholdstype
- Hukommelseseffektiv:Optimeret til behandling af store scannede dokumenter
Typiske anvendelsesscenarier
- Scannede tekstdokumenter
- Tekniske tegninger og plantegninger
- Formularer og fakturaer
- Kort og diagrammer
- Dokumenter med blandet indhold med tekst og grafik
Teknisk implementering
JBIG2-understøttelsen er implementeret via HPDFJBIG2.pas enheden, som leverer:
- THPDFJBIG2Decoder:Kernedekoderklasse til JBIG2-komprimerede data
- Strømbehandling:Effektiv håndtering af JBIG2-datastrømme
- Global ordbogsunderstøttelse:Delte symbolordbøger til flersidede dokumenter
- Scanline-adgang:Række-for-række dataadgang for hukommelseseffektiv behandling
Brugseksempel
// 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;
Klassereference
THPDFJBIG2Decoder
- LoadFromByteArray:Indlæs JBIG2-data fra byte-array
- GetScanline:Hent specifikke scanline-data
- Width/Height:Egenskaber for billeddimensioner
Ydelsesoptimering
- Hukommelseseffektiv scanline-behandling
- Optimeret til håndtering af store dokumenter
- Minimalt hukommelsesaftryk under dekomprimering
- Hurtige mønstergenkendelses-algoritmer
Standardoverensstemmelse
- ITU-T T.88 standardoverensstemmelse
- ISO/IEC 14492 standardunderstøttelse
- Kompatibilitet med PDF/A-arkiveringsformat
- Konsistens på tværs af platforme
Se også
|