Optimisation des ressources et des images

HotPDF peut réduire la taille du document chargé sans changer la sémantique d'état graphique des pages ni casser les ressources héritées et les apparences d'annotations

Consolidation de contenu et de ressources

Les images en ligne répétées peuvent devenir des images XObjects partagées après que les seuils d'occurrence et de charge utile sont atteints

Les noms de ressources de page inutilisés sont supprimés prudemment après avoir analysé le contenu de page, les Form XObjects imbriqués et les flux d'apparence d'annotations

Les flux de contenu de page compatibles sont décodés, joints avec des frontières de jetons sûres et normalisés en un seul flux Flate

Les Form XObjects et les polices imbriquées sont dédupliqués à partir du contenu décodé canonique et des graphes de ressources canoniques récursifs, avec des préfixes de sous-ensembles de polices compatibles normalisés lors de la comparaison

Découpage de polices chargées

SubsetLoadedFonts trace les codes de caractères à travers le contenu de page, les Form XObjects imbriqués et les flux d'apparence d'annotations, résout chaque code via l'encodage de police PDF et le mappage CID, puis ne conserve que les programmes de glyphes accessibles

Les dictionnaires de polices, les cartes CID, les largeurs et les données ToUnicode conservent leurs identifiants existants car le découpage TrueType et CFF préserve les IDs de glyphes ; les programmes imbriqués partagés agrègent l'utilisation de chaque dictionnaire de polices compatible avant une réécriture

L'opération saute tout un programme de polices lorsqu'un code utilisé ne peut pas être mappé, n'adopte qu'un candidat brut ou Flate plus petit et refuse les documents signés par défaut afin que les appelants doivent explicitement accepter l'invalidation de signature

L’opération ignore un programme de police entier dès qu’un code utilisé ne peut être projeté, ne retient qu’un candidat brut ou Flate plus petit, et refuse par défaut les documents signés : les appelants doivent accepter explicitement l’invalidation de signature

Politiques d'images

La recompression JPEG sélectionne les espaces colorimétriques éligibles, la qualité de sortie et les économies minimales d'octets

L'optimisation JPEG 2000 prend en charge les profils sans perte et visuellement sans perte, les tuiles facultatives et les cinq ordres de progression via un profil explicitement non désactivé

La recompression par coût visuel évalue des essais de qualité JPEG ou JPEG 2000 bornés par rapport à la source décodée, rejette les candidats hors des limites d'erreur perceptuelle ou d'économies minimales, et sélectionne le score le plus bas d'erreur visuelle pondérée et de coût en octets avec départage déterministe

Les données globales JBIG2 sont partagées uniquement lorsque les octets exacts de segments globaux décodés correspondent sous jbspExactGlobalsOnly

Le sous-échantillonnage à DPI effective suit les matrices de page et de Form imbriquées, décode les pixels sources à gestion des couleurs et rééchantillonne les masques souples avec leurs images propriétaires

La réécriture d’images convertit les entrées ICCBased, CalGray et CalRGB prises en charge vers RGB calibré, tandis que les entrées calibrées non prises en charge restent intactes au lieu d’être converties en RGB process

DownsampleLoadedImages redimensionne directement dans l’espace composant les images Separation ou DeviceN 8 bits brutes, Flate, LZW, ASCII et RunLength prises en charge, en préservant le graphe exact d’espaces colorimétriques, la transformation de tint, les colorants, les plages /Decode et la sémantique de surimpression

La réécriture d'images convertit en couleur les entrées ICCBased, CalGray et CalRGB prises en charge en RVB calibré, tandis que les entrées calibrées non prises en charge, les images Separation et DeviceN restent intactes au lieu d'être converties en RVB de processus

Utilisez la réécriture de couleurs de page chargée lorsque la sortie requise est un espace de processus Gray, RVB ou CMJN uniforme à travers la peinture vectorielle, les images, les motifs, les fondus, la transparence et les ressources ICC

Flux d'objets adaptatifs

Le regroupement en flux d'objets peut borner la taille des membres, les octets de conteneur cibles et le nombre de membres tout en préservant la localité des numéros d'objets et en excluant les objets modifiés susceptibles de changer à nouveau

Activer le regroupement adaptatif demande également la version PDF requise, le flux xref et la réécriture complète

API principales