DownsampleImages
Gestión de documentos, Imágenes
Descripción
Reduce la resolución de los XObjects de imagen incrustados cuya resolución efectiva supera MaxDPI. Cada imagen candidata se descodifica, se remuestrea conservando su proporción de aspecto y se recodifica como DCTDecode (JPEG) cuando Quality es mayor que 0 o como FlateDecode sin pérdida (PNG) cuando Quality es 0; el flujo de imagen y las entradas /Filter, /Width y /Height se reescriben in situ
Sintaxis
Delphi
Function TPDFlib.DownsampleImages(MaxDPI, Quality, Filter: Integer): Integer;Parámetros
| MaxDPI | Umbral de resolución en DPI; se remuestrean las imágenes cuya resolución efectiva estimada supera este valor. Los valores por debajo de 24 anulan la llamada |
|---|---|
| Quality | Calidad de compresión JPEG entre 1 y 100 usada para la recodificación; pase 0 para recodificar sin pérdida como PNG |
| Filter | 0 selecciona el filtro de caja, que promedia bloques de píxeles de origen; cualquier otro valor selecciona el remuestreo bilineal |
Valores devueltos
El número de XObjects de imagen reescritos, o 0 cuando MaxDPI está por debajo de 24 o ninguna imagen superó el umbral
Comentarios
La resolución efectiva se estima a partir de la anchura en píxeles declarada de la imagen contra una página de anchura Carta, de modo que la pasada es conservadora y las imágenes de calidad de impresión se dejan intactas ante la duda
Las imágenes menores de 8 x 8 píxeles declarados, las imágenes que fallan al descodificarse y las imágenes cuyo tamaño remuestreado no sería menor que el original se omiten sin hacer fallar la llamada
Ejemplo
PDF.LoadFromFile('scan.pdf', '');
PDF.DownsampleImages(150, 80, 0);
PDF.SaveToFile('scan-compressed.pdf');