Resource- en beeldoptimalisatie

HotPDF kan de grootte van geladen documenten verkleinen zonder de graphics-state-semantiek van pagina's te veranderen of overgeërfde resources en annotatie-appearance te breken

Consolidatie van inhoud en resources

Herhaalde inline afbeeldingen kunnen gedeelde image-XObjects worden zodra de drempels voor voorkomens en payload zijn gehaald

Ongebruikte paginarezourcenaamworden conservatief verwijderd na het scannen van pagina-inhoud, geneste Form XObjects en annotatie-appearance-streams

Compatibele pagina-contentstreams worden gedecodeerd, met veilige tokengrenzen samengevoegd en genormaliseerd naar één Flate-stream

Form XObjects en ingebedde fonts worden gededupliceerd op basis van canonieke gedecodeerde inhoud en recursief canonieke resourcegrafen, waarbij compatibele fontsubset-prefixen tijdens de vergelijking worden genormaliseerd

Subsetting van geladen fonts

SubsetLoadedFonts volgt karaktercodes door pagina-inhoud, geneste Form XObjects en annotatie-appearance-streams, lost elke code op via de PDF-fontencoding en CID-mapping en behoudt daarna alleen bereikbare glyph-programma's

Fontwoordenlijsten, CID-maps, breedtes en ToUnicode-data behouden hun bestaande identificatoren, omdat subsetting van TrueType, CFF en Type 1 glyph-ID's of glyphnamen bewaart; gedeelde ingebedde programma's aggregeren het gebruik van elke compatibele fontwoordenlijst vóór één herschrijving

TrueType-composiet- en COLR v0/v1-outlineafhankelijkheden worden recursief gesloten, terwijl kleur-, bitmap-, variatie- en shapingtabellen intact blijven; Type 1 PFB, gesplitste binaire en hex PFA-programma's behouden gebruikte CharStrings en vervangen ongebruikte invoeren door geldige endchar-programma's van gelijke lengte

De operatie slaat een heel fontprogramma over wanneer één gebruikte code niet kan worden gemapped, kiest alleen een kleinere rauwe of Flate-kandidaat en weigert standaard ondertekende documenten, zodat aanroepers expliciet moeten instemmen met handtekeninginvalidatie

Image policies

JPEG-hercompressie kiest geschikte kleurruimten, uitvoerkwaliteit en minimale bytebesparing

JPEG 2000-optimalisatie ondersteunt lossless en visueel lossless profielen, optionele tiles en alle vijf progression orders via een expliciet niet-uitgeschakeld profiel

Visuele-kosten-hercompressie evalueert begrensde JPEG- of JPEG 2000-kwaliteitstesten tegen de gedecodeerde bron, wijst kandidaten buiten de grenzen voor perceptuele fout of minimale besparing af en kiest de laagste gewogen score voor visuele fout en bytekosten met deterministische tie-breaking

JBIG2-globale data wordt alleen gedeeld wanneer de exacte gedecodeerde bytes van het globale segment overeenkomen onder jbspExactGlobalsOnly

Effective-DPI-downsampling volgt pagina- en geneste Form-matrices, decodeert kleurbeheerde bronpixels en resamplert softmasks samen met hun eigenaar-beelden

Bij het herschrijven van beelden worden ondersteunde ICCBased-, CalGray- en CalRGB-invoeren naar gekalibreerd RGB geconverteerd, terwijl niet-ondersteunde gekalibreerde invoeren onaangeroerd blijven in plaats van naar proces-RGB te worden geconverteerd

DownsampleLoadedImages verkleint ondersteunde 8-bit rauwe, Flate-, LZW-, ASCII- en RunLength-Separation- of DeviceN-beelden direct in componentruimte, met behoud van de exacte kleurruimtegraaf, tinttransformatie, kleurstoffen, /Decode-bereiken en overprint-semantiek

DCT-, JPX-, JBIG2- en CCITT-spotbeelden blijven ongewijzigd wanneer hun codec de originele plaat-samples niet kan blootgeven

Gebruik kleurherschrijving van geladen pagina's wanneer de gevraagde uitvoer een uniforme Gray-, RGB- of CMYK-procesruimte is over vectorverf, beelden, patronen, shadings, transparantie en ICC-resources heen

Adaptieve objectstreams

Objectstream-packing kan ledengrootte, doelcontainerbytes en ledenaantal begrenzen, met behoud van objectnummer-localiteit en exclusie van vuile objecten die waarschijnlijk opnieuw veranderen

Adaptieve packing aanzetten vraagt ​​ ook de vereiste PDF-versie, xref-stream en volledige herschrijving aan

Primaire API's