ExternalizeInlineImages
Optimización de documentos, manejo de imágenes, rendimiento
Descripción
Busca imágenes en línea compatibles idénticas por bytes en el contenido de las páginas seleccionadas y reemplaza sus definiciones repetidas de BI a EI con referencias a un Image XObject compartido
Sintaxis
Delphi
Function TPDFlib.ExternalizeInlineImages(Const PageRange: WideString= ''; MinimumOccurrences: Integer= 2): Integer;Parámetros
| PageRange | Un intervalo de páginas basado en uno como 1,3,5-7, o una cadena vacía para todas las páginas; se ignoran los números de página duplicados |
|---|---|
| MinimumOccurrences | El número mínimo de ocurrencias exactas necesario para la promoción y debe ser de al menos 2 |
Valores devueltos
Cantidad de apariciones de imágenes en línea reemplazadas, o 0 si ningún grupo cumple los requisitos, el intervalo no es válido, el mínimo es menor que 2 o la operación se cancela antes de aplicarse
Observaciones
La agrupación incluye dimensiones, profundidad de bits, indicadores de máscara de imagen e interpolación, espacio de color, cadena de filtros, parámetros de decodificación, matriz de decodificación y carga útil codificada, con indexación SHA-256 seguida de comparación exacta
Se admiten imágenes directas DeviceGray, DeviceRGB y DeviceCMYK, y máscaras de estarcido; los espacios de color con nombre o complejos y las entradas desconocidas de diccionario en línea permanecen sin cambios
Se conservan los filtros y parámetros de decodificación existentes; una carga útil sin filtrar se comprime con Flate solo cuando la representación comprimida es más pequeña
Un grupo se promociona solo cuando una estimación conservadora que incluye el Image XObject, recursos de página e instrucciones de reemplazo es menor que los tramos insertados originales
La operación informa el progreso de recopilación y aplicación, responde a Abort en los límites de página, restaura la página seleccionada anteriormente y es idempotente
La cancelación durante la recopilación no realiza cambios; la cancelación durante la aplicación conserva las páginas ya completadas
Ejemplo
ReplacedImages:= PDF.ExternalizeInlineImages('1-200', 3);
Writeln(ReplacedImages);