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
Filter0 избира box филтъра, който усреднява блоковете изходни пиксели; всяка друга стойност избира двулинейно преизвадковане

Връщани стойности

Броят презаписани XObject изображения, или 0, когато MaxDPI е под 24 или никое изображение не е надвишило прага

Бележки

Ефективната разделителна способност се оценява от декларираната ширина в пиксели на изображението спрямо страница с ширина Letter, затова преминаването е консервативно и изображенията с качество за печат се оставят непроменени при съмнение

Изображения, по-малки от 8 x 8 декларирани пиксела, изображения, които не могат да се декодират, и изображения, чийто преизвадкован размер не би бил по-малък от оригинала, се пропускат, без извикването да се проваля

Пример

PDF.LoadFromFile('scan.pdf', '');
PDF.DownsampleImages(150, 80, 0);
PDF.SaveToFile('scan-compressed.pdf');