ExternalizeInlineImages
Optimisation de documents, traitement des images, performances
Description
Recherche les images incorporées identiques octet pour octet dans le contenu sélectionné et remplace leurs définitions BI à EI répétées par des références à un Image XObject partagé
Syntaxe
Delphi
Function TPDFlib.ExternalizeInlineImages(Const PageRange: WideString= ''; MinimumOccurrences: Integer= 2): Integer;Paramètres
| PageRange | Plage de pages à base 1 telle que 1,3,5-7, ou chaîne vide pour toutes les pages ; les numéros de page en double sont ignorés |
|---|---|
| MinimumOccurrences | Le nombre minimal d'occurrences exactes requis pour la promotion, qui doit être au moins égal à 2 |
Valeurs de retour
Nombre d'occurrences d'images incorporées remplacées, ou 0 si aucun groupe n'est admissible, la plage est non valide, le minimum inférieur à 2 ou l'opération annulée avant application
Remarques
Le regroupement comprend les dimensions, la profondeur en bits, les indicateurs de masque d’image et d’interpolation, l’espace colorimétrique, la chaîne de filtres, les paramètres et le tableau de décodage ainsi que la charge utile encodée, avec une indexation SHA-256 suivie d’une comparaison exacte
Les images DeviceGray, DeviceRGB et DeviceCMYK directes et les masques de pochoir sont pris en charge ; les espaces nommés ou complexes et les entrées incorporées inconnues restent inchangés
Les filtres et paramètres de décodage existants sont préservés ; une charge utile non filtrée n'est compressée par Flate que si la représentation compressée est plus petite
Un groupe n'est promu que si une estimation prudente comprenant Image XObject, ressources de page et instructions de remplacement est inférieure aux plages incorporées d'origine
L'opération signale la progression de collecte et d'application, répond à Abort aux limites de pages, rétablit la page précédente et est idempotente
Une annulation pendant la collecte n'apporte aucune modification ; une annulation pendant l'application conserve les pages déjà terminées
Exemple
ReplacedImages:= PDF.ExternalizeInlineImages('1-200', 3);
Writeln(ReplacedImages);