DownsampleImages
Documentbeheer, Afbeeldingen
Beschrijving
Verlaagt de resolutie van ingebedde afbeeldings-XObjects waarvan de effectieve resolutie boven MaxDPI ligt. Elke kandidaat-afbeelding wordt gedecodeerd, hersampled met behoud van de beeldverhouding en opnieuw gecodeerd als DCTDecode (JPEG) wanneer Quality groter is dan 0, of als lossless FlateDecode (PNG) wanneer Quality 0 is; de afbeeldingsstream en de entries /Filter, /Width en /Height worden ter plaatse herschreven
Syntaxis
Delphi
Function TPDFlib.DownsampleImages(MaxDPI, Quality, Filter: Integer): Integer;Parameters
| MaxDPI | Resolutiedrempel in DPI; afbeeldingen waarvan de geschatte effectieve resolutie boven deze waarde ligt, worden hersampled. Waarden onder 24 breken de aanroep af |
|---|---|
| Quality | JPEG-compressiekwaliteit tussen 1 en 100 voor het opnieuw coderen; geef 0 door om lossless als PNG te hercoderen |
| Filter | 0 kiest het boxfilter, dat bronpixelblokken middelt; elke andere waarde kiest bilineair hersampelen |
Retourwaarden
Het aantal herschreven afbeeldings-XObjects, of 0 wanneer MaxDPI onder 24 ligt of geen afbeelding boven de drempel uitkwam
Opmerkingen
De effectieve resolutie wordt geschat aan de hand van de gedeclareerde pixelbreedte van de afbeelding tegenover een pagina met Letter-breedte, zodat de pass conservatief is en afbeeldingen van afdrukkwaliteit bij twijfel met rust worden gelaten
Afbeeldingen kleiner dan 8 x 8 gedeclareerde pixels, afbeeldingen die niet decoderen, en afbeeldingen waarvan de hersamplede grootte niet kleiner zou zijn dan het origineel, worden overgeslagen zonder de aanroep te laten mislukken
Voorbeeld
PDF.LoadFromFile('scan.pdf', '');
PDF.DownsampleImages(150, 80, 0);
PDF.SaveToFile('scan-compressed.pdf');