Bilder
Vanlige rasterbilder dekodes med createImageBitmap, behandles på Canvas eller OffscreenCanvas og kodes til Blob. En dedikert worker brukes når nettleseren støtter dette; kontrollert fallback holder samme funksjon tilgjengelig.
Dekodet RGBA-minne er omtrent bredde × høyde × 4 byte per buffer. Derfor valideres både filstørrelse og megapiksler før full behandling.
pdf-lib bygger og endrer dokumentstrukturen. PDF.js brukes bare til lokal rendering ved eksplisitt visuell komprimering. Buffere overføres til worker der det gir mening, og filer sendes aldri til en API-rute.
Komprimeringsbegrepene
Strukturell optimalisering omskriver objektstrømmer uten bevisst rasterisering, men kalles ikke tapsfri og kan gi større fil. Visuell komprimering lager et bilde av hver side og er uttrykkelig tapsbasert.
Grenser
Desktop: inntil 100 MB per PDF, 200 MB samlet og 40 MP per bilde. Mobil: 40 MB per PDF, 80 MB samlet og 20 MP per bilde. Grenser senkes for visuell PDF-komprimering fordi flere pikselbuffere er nødvendige.