|
Stöd för JBIG2-komprimering
Översikt
HotPDF innehåller nu omfattande stöd för JBIG2-komprimering (Joint Bi-level Image Experts Group 2)
JBIG2 är en förstörande eller förlustfri komprimeringsstandard som är särskilt utformad för tvånivåbilder (monokroma bilder),
som ofta används i PDF-dokument för skannade textsidor och linjegrafik
Viktiga funktioner
- Högeffektiv komprimering för tvånivåbilder
- Stöd för både förstörande och förlustfria komprimeringslägen
- Optimerat för komprimering av text och linjegrafik
- Betydande minskning av filstorlek jämfört med traditionella komprimeringsmetoder
- Fullt stöd för PDF/A-efterlevnad
- Stöd för flersidiga dokument med delade ordböcker
Komprimeringsfördelar
- Överlägsna komprimeringsgrader: Upp till 3-5 gånger bättre komprimering än Group 4 CCITT
- Mönsterigenkänning: Intelligent igenkänning av upprepade mönster och symboler
- Adaptiv komprimering: Justerar automatiskt komprimeringsstrategin baserat på innehållstyp
- Minneseffektivt: Optimerat för bearbetning av stora skannade dokument
Typiska användningsfall
- Skannade textdokument
- Tekniska ritningar och byggritningar
- Formulär och fakturor
- Kartor och diagram
- Dokument med blandat innehåll, text och grafik
Teknisk implementation
JBIG2-stödet är implementerat genom enheten HPDFJBIG2.pas, som tillhandahåller:
- THPDFJBIG2Decoder: Central dekoderklass för JBIG2-komprimerade data
- Strömbearbetning: Effektiv hantering av JBIG2-dataströmmar
- Stöd för globala ordböcker: Delade symbolordböcker för flersidiga dokument
- Åtkomst till scanline: Radvis dataåtkomst för minneseffektiv bearbetning
Användningsexempel
// Delphi-exempel - bearbetning av JBIG2-komprimerade 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;
// Läs in JBIG2-komprimerade bilddata
if Decoder.LoadFromByteArray(ImageData) then
begin
// Bearbeta scanline för scanline för minneseffektivitet
for Row := 0 to Decoder.Height - 1 do
begin
if Decoder.GetScanline(Row, ScanlineData) then
begin
// Bearbeta scanline-data efter behov
// Lägg till på PDF-sidan
end;
end;
end;
PDF.EndDoc;
finally
Decoder.Free;
PDF.Free;
end;
end;
Klassreferens
THPDFJBIG2Decoder
- LoadFromByteArray: Läs in JBIG2-data från bytearray
- GetScanline: Hämta specifika scanline-data
- Width/Height: Egenskaper för bilddimensioner
Prestandaoptimering
- Minneseffektiv scanline-bearbetning
- Optimerat för hantering av stora dokument
- Minimalt minnesavtryck under dekomprimering
- Snabba algoritmer för mönsterigenkänning
Standardefterlevnad
- Efterlevnad av standarden ITU-T T.88
- Stöd för standarden ISO/IEC 14492
- Kompatibilitet med arkivformatet PDF/A
- Konsekvens mellan plattformar
Se även
|