CompressImages
Manejo de imágenes, propiedades del documento
Descripción
Establece el modo de compresión predeterminado aplicado a datos de imagen ráster sin procesar agregados al documento después de esta llamada La configuración afecta las imágenes cuyos píxeles se cargan sin comprimir (BMP, matrices de píxeles sin procesar); las imágenes ya comprimidas (JPEG, JPEG 2000, CCITT, JBIG2) conservan su codificación actual y se almacenan tal cual, ya que recomprimirlas aumentaría el archivo y degradaría la calidad
Sintaxis
Delphi
Function TPDFlib.CompressImages(Compress: Integer): Integer;
ActiveX
Function PDFlib::CompressImages(Compress As Long) As Long
DLL
int DLCompressImages(int InstanceID, int Compress);
Parámetros
| Compress | 0 — almacena imágenes de trama sin comprimir. 1 — comprime con flate las imágenes de trama sin procesar (filtro /FlateDecode) |
|---|
Valores devueltos
| 0 | El parámetro Compress estaba fuera de rango |
|---|---|
| 1 | Se actualizó la configuración de compresión de imagen |
Observaciones
La configuración solo afecta imágenes agregadas después de la llamada. El valor predeterminado es comprimir. Desactivar la compresión resulta útil ocasionalmente al integrar con un representador posterior que no admite flujos de imagen decodificados por flate; en condiciones normales, mantenga habilitada la compresión
La compresión Flate no tiene pérdida. Para compresión JPEG con pérdida de una imagen ráster sin procesar, codifique el origen en JPEG antes de agregarlo y use AddImageFromFile o AddImageFromStream — el flujo de bytes JPEG se incrusta entonces directamente con un filtro /DCTDecode
Ejemplo
// Compress raw bitmaps but leave the pre-encoded JPEG as-is
PDF.CompressImages(1);
PDF.AddImageFromFile('logo.bmp'); // BMP -> flate compressed
PDF.AddImageFromFile('photo.jpg'); // JPEG bytes embedded directly (DCT)
PDF.AddImageFromFile('chart.png'); // PNG decoded -> flate compressedVéase también
CompressContent, CompressFonts, AddImageFromFile, AddImageFromStream