CompressImages

Обработка изображений, свойства документа

Описание

Задаёт режим сжатия по умолчанию для необработанных растровых данных изображений, добавляемых в документ после этого вызова. Настройка касается изображений с незапакованными пикселями (BMP, сырые массивы); уже сжатые (JPEG, JPEG 2000, CCITT, JBIG2) сохраняют кодировку и пишутся как есть — пересжатие раздувает файл и портит качество

Синтаксис

Delphi

Function TPDFlib.CompressImages(Compress: Integer): Integer;

ActiveX

Function PDFlib::CompressImages(Compress As Long) As Long

DLL

int DLCompressImages(int InstanceID, int Compress);

Параметры

Compress0 — store raw raster images uncompressed.
1 — flate-compress raw raster images (/FlateDecode filter).

Возвращаемые значения

0Параметр Compress вне диапазона
1Настройка сжатия изображений обновлена

Примечания

Настройка влияет только на изображения, добавляемые после вызова. По умолчанию сжатие включено. Отключить сжатие изредка полезно при интеграции с нижестоящим рендерером, который не поддерживает flate-декодированные потоки изображений; при обычном использовании оставьте сжатие включенным

Сжатие Flate не имеет потерь. Для сжатия с потерями (JPEG) необработанного растрового изображения закодируйте источник в JPEG до добавления и используйте AddImageFromFile или AddImageFromStream — байтовый поток JPEG затем встраивается напрямую с фильтром /DCTDecode.

Пример

// 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 compressed

См. также

CompressContent, CompressFonts, AddImageFromFile, AddImageFromStream