PDFium Delphi Component Docs

OptimizeImages metódus

Komponens: TPdf  ·  Egység: PDFium
Azon oldal-képobjektumok felbontását csökkenti, amelyek tényleges elhelyezési DPI-je meghaladja a hívó által választott célt, így az optimalizált dokumentum készen áll a SaveAs hívásra

Syntax

function OptimizeImages(const Options: TPdfImageOptimizeOptions; out Report: TPdfImageOptimizeReport): Boolean;

Description

A SaveAs* újraírásokkal szemben az OptimizeImages a natív PDFium képobjektum-API-n keresztül szerkeszti az aktuális memóriabeli dokumentumot, illeszkedve az AddImage / GenerateContent szerkesztési modellhez

Minden oldal bejárásra kerül, és minden képobjektum tényleges elhelyezési DPI-je kiolvasásra kerül az FPDFImageObj_GetImageMetadata hívásból; ha a max(vízszintes, függőleges) DPI / TargetDpi hányados eléri a MinDpiRatio értéket, a kép felbontása csökkentésre kerül

A felbontáscsökkentés méri a lokális luminancia-részletességet, és a skálából, a tartalomosztályból és a preferált minőségből box, bilineáris, bikubikus, Lanczos vagy bilevel szűrőt választ, majd a kisebb, azonos formátumú bitmapet a FPDFImageObj_SetBitmap hívással írja vissza

A BGRA minták premultiplied-alpha térben akkumulálódnak, és csak a célpixelnél kerülnek visszaszorzásra, így az újramintavételezett élek körül nem keletkeznek áttetsző színperemek

Minden érintett oldal a FPDFPage_GenerateContent hívással kerül véglegesítésre; a hívó ezt követően a szokásos SaveAs hívással menti az optimalizált dokumentumot

Policies and limits

Example

Options:= TPdfImageOptimizeOptions.Default;
Options.TargetDpi:= 150;
Options.ResampleFilter:= pirfAdaptive;
Options.MaxWorkingBytes:= 64 * 1024 * 1024;
Pdf.OptimizeImages(Options, Report);
WriteLn('downsampled ', Report.OptimizedCount, ' images');
Pdf.SaveAs('optimized.pdf');

See Also

SaveAs, AddImage, SaveAsDeduplicated