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
| MaxDPI | Pró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 |
|---|---|
| Quality | Jakość kompresji JPEG od 1 do 100 używana przy ponownym kodowaniu; podaj 0, aby ponownie zakodować bezstratnie jako PNG |
| Filter | 0 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');