DownsampleImages
Управление на документи, изображения
Описание
Намалява разделителната способност на вградени XObject изображения, чиято ефективна разделителна способност надвишава MaxDPI. Всяко кандидат-изображение се декодира, преизвадкова се със запазено съотношение на страните и се кодира отново като DCTDecode (JPEG), когато Quality е по-голямо от 0, или като беззагубно FlateDecode (PNG), когато Quality е 0; записите поток на изображението, /Filter, /Width и /Height се презаписват на място
Синтаксис
Delphi
Function TPDFlib.DownsampleImages(MaxDPI, Quality, Filter: Integer): Integer;Параметри
| MaxDPI | Праг на разделителната способност в DPI; изображенията, чиято оценена ефективна разделителна способност е над тази стойност, се преизвадковат. Стойности под 24 прекъсват извикването |
|---|---|
| Quality | Качество на JPEG компресията между 1 и 100, използвано при повторно кодиране; подайте 0 за беззагубно повторно кодиране като PNG |
| Filter | 0 избира box филтъра, който усреднява блоковете изходни пиксели; всяка друга стойност избира двулинейно преизвадковане |
Връщани стойности
Броят презаписани XObject изображения, или 0, когато MaxDPI е под 24 или никое изображение не е надвишило прага
Бележки
Ефективната разделителна способност се оценява от декларираната ширина в пиксели на изображението спрямо страница с ширина Letter, затова преминаването е консервативно и изображенията с качество за печат се оставят непроменени при съмнение
Изображения, по-малки от 8 x 8 декларирани пиксела, изображения, които не могат да се декодират, и изображения, чийто преизвадкован размер не би бил по-малък от оригинала, се пропускат, без извикването да се проваля
Пример
PDF.LoadFromFile('scan.pdf', '');
PDF.DownsampleImages(150, 80, 0);
PDF.SaveToFile('scan-compressed.pdf');