Resource and Image Optimisation
Aplikace HotPDF dokáže zmenšit velikost načteného dokumentu bez změny sémantiky stavu grafiky stránek nebo porušení zděděných prostředků a vzhledů anotací
Content and resource consolidation
Opakované vnitřní obrazy se mohou stát sdílenými obrazovými XObjects po splnění prahů výskytu a velikosti dat
Nepoužívaná jména prostředků stránky se konzervativně odstraní po prohledání obsahu stránky, vnořených Form XObjects a proudů vzhledu anotací
Kompatibilní streamy obsahu stránek se dekódují, spojí s bezpečnými hranicemi tokenů a normalizují na jeden Flate stream
Form XObjects a vložené fonty se deduplikují z kanonického dekódovaného obsahu a rekurzivních kanonických grafů prostředků, přičemž kompatibilní předpony podskupin fontů se při porovnávání normalizují
Loaded-font subsetting
SubsetLoadedFonts sleduje kódy znaků přes obsah stránky, vnořené Form XObjects a proudy vzhledu anotací, řeší každý kód přes kódování fontů PDF a mapování CID a poté zachovává pouze dosažitelné programy glyfů
Slovníky fontů, mapy CID, šířky a data ToUnicode si zachovávají své stávající identifikátory, protože vyřezávání TrueType a CFF zachovává ID glyfů; sdílené vložené programy agregují použití z každého kompatibilního slovníku fontů před jedním přepisem
Operace přeskočí celý fontový program, když nelze namapovat žádný použitý kód, přijme pouze menšího surového nebo Flate kandidáta a ve výchozím stavu odmítá podepsané dokumenty, takže volající musí explicitně souhlasit se zneplatněním podpisu
Závislosti TrueType composite a obrysů COLR v0/v1 se rekurzivně uzavírají, zatímco tabulky barev, bitmap, variací a tvarování zůstávají nedotčené; programy Type 1 PFB, split binary a hex PFA zachovávají použité CharStrings a nepoužité položky nahrazují platnými programy endchar stejné délky
Image policies
Re-komprese JPEG vybírá vhodné barevné prostory, výstupní kvalitu a minimální úsporu bajtů
Optimalizace JPEG 2000 podporuje bezztrátové a vizuálně bezztrátové profily, volitelné dlaždice a všech pět pořadí progrese přes explicitní nezakázaný profil
Re-komprese podle vizuální náročnosti vyhodnocuje omezené soubory kvality JPEG nebo JPEG 2000 proti dekódovanému zdroji, odmítá kandidáty mimo limity percepční chyby nebo minimální úspory a vybírá nejnižší vážené skóre vizuální chyby a bajtové náročnosti s deterministickým řešením nerozhodných případů
Globální data JBIG2 se sdílejí pouze tehdy, když se přesné dekódované bajty globálního segmentu shodují pod jbspExactGlobalsOnly
Převzorkování podle efektivního DPI sleduje matice stránek a vnořených Form, dekóduje barevně řízené zdrojové pixely a převzorkuje měkké masky s jejich vlastními obrazy
Přepis barev při přepisu obrazu převádí podporované vstupy ICCBased, CalGray a CalRGB na kalibrované RGB, zatímco nepodporované kalibrované vstupy zůstávají nedotčené, aby se nekonvertovaly na procesní RGB
DownsampleLoadedImages mění rozměry podporovaných 8bitových surových, Flate, LZW, ASCII a RunLength obrazů Separation nebo DeviceN přímo v prostoru komponent a zachovává přesný graf barevných prostorů, transformaci tint, colouranty i pole /Decode
Přepis obrazu s barevnou konverzí převádí podporované vstupy ICCBased, CalGray a CalRGB na kalibrované RGB, zatímco nepodporované kalibrované vstupy, obrazy Separation a DeviceN zůstávají nedotčené místo převodu na procesní RGB
Použijte loaded-page colour rewrite, když je požadovaným výstupem jednotný procesní prostor Gray, RGB nebo CMYK napříč vektorovými malbami, vzory, stínováním, průhledností a prostředky ICC
Adaptive object streams
Packing object-stream může omezit velikost členů, cílové bajty kontejneru a počet členů při zachování lokality čísel objektů a vyloučení špinavých objektů, které se pravděpodobně znovu změní
Povolení adaptivního packingu také vyžaduje požadovanou verzi PDF, xref stream a úplný přepis
Primary APIs
THotPDF.ExternalizeRepeatedInlineImagesTHotPDF.RemoveUnusedLoadedPageResourcesTHotPDF.CoalesceLoadedPageContentStreamsTHotPDF.DeduplicateLoadedFormXObjectsTHotPDF.DeduplicateLoadedEmbeddedFontsTHotPDF.SubsetLoadedFontsTHotPDF.RecompressLoadedJPEGImagesTHotPDF.OptimizeLoadedJPEG2000ImagesTHotPDF.OptimizeLoadedImagesByVisualCostTHotPDF.ShareLoadedJBIG2GlobalsTHotPDF.DownsampleLoadedImagesTHotPDF.RewriteLoadedPageColorsTHotPDF.ConfigureAdaptiveObjectStreamPacking