DownsampleImages

Zarządzanie dokumentem, Obrazy

Opis

Zmniejsza rozdzielczość osadzonych obiektów XObject obrazów, których efektywna rozdzielczość przekracza MaxDPI. Każdy obraz spełniający kryteria jest dekodowany, ponownie próbkowany z zachowaniem proporcji i kodowany jako DCTDecode (JPEG), gdy Quality jest większe od 0, albo jako bezstratny FlateDecode (PNG), gdy Quality wynosi 0; strumień obrazu oraz wpisy /Filter, /Width i /Height są zastępowane w miejscu

Składnia

Delphi

Function TPDFlib.DownsampleImages(MaxDPI, Quality, Filter: Integer): Integer;

Parametry

MaxDPIPróg rozdzielczości w DPI; obrazy, których szacowana efektywna rozdzielczość przekracza tę wartość, są ponownie próbkowane. Wartości mniejsze niż 24 przerywają wywołanie
QualityJakość kompresji JPEG od 1 do 100 używana przy ponownym kodowaniu; podaj 0, aby ponownie zakodować bezstratnie jako PNG
Filter0 wybiera filtr pudełkowy uśredniający bloki pikseli źródłowych; każda inna wartość wybiera próbkowanie dwuliniowe

Wartości zwracane

Liczba zastąpionych obiektów XObject obrazów albo 0, gdy MaxDPI jest mniejsze niż 24 lub żaden obraz nie przekroczył progu

Uwagi

Efektywna rozdzielczość jest szacowana przez porównanie deklarowanej szerokości obrazu w pikselach z szerokością strony Letter, dlatego przebieg jest zachowawczy i w razie wątpliwości pozostawia obrazy o jakości drukarskiej bez zmian

Obrazy o deklarowanym rozmiarze mniejszym niż 8 × 8 pikseli, obrazy, których nie można zdekodować, oraz obrazy, których ponownie próbkowany rozmiar nie byłby mniejszy od oryginału, są pomijane bez zgłaszania niepowodzenia wywołania

Przykład

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