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å