property Transparent: Boolean; // read only
Transparent retourneert True wanneer de actieve pagina enig object bevat waarvan de effectieve alfa minder dan 1.0 is of dat verwijst naar een grafische staat die transparantie inschakelt — soft masks, opaciteitswaarden (CA / ca), niet-standaard overvloeimodi (/BM) of transparantiegroepen (PDF 1.7-specificatie, sectie 11). Het is dezelfde vlag die PDFium intern controleert om te beslissen of de pagina door zijn transparante-pagina-rasterizer moet worden gerenderd.
De eigenschap is False wanneer Active False is of wanneer de pagina puur ondoorzichtig is. Pagina's die transparant zijn zijn iets duurder om te renderen — PDFium moet een alfakanaal toewijzen en elk object compositen tegen de pagina-achtergrond — dus transparantie vooraf detecteren laat aanroepers de juiste uitvoerdoel kiezen (32-bit ARGB TBitmap, PDF-watermerk-overlay, alfa-bewuste printerpad).
De waarde is een eigenschap per pagina; doorloop elke pagina als u een documentbrede “heeft ergens transparantie?”-antwoord nodig heeft. Combineer met de Background-kleur bij renderen naar een platte bitmap: een transparante pagina op een clWhite-achtergrond produceert afgevlakte uitvoer, terwijl renderen op een transparant oppervlak alfa behoudt voor downstream-compositing.
var Bmp: TBitmap;
Bmp := TBitmap.Create;
try
if Pdf1.Transparent then
Bmp.PixelFormat := pf32bit
else
Bmp.PixelFormat := pf24bit;
Pdf1.RenderToBitmap(Bmp, 1.0);
finally
Bmp.Free;
end;