property Transparent: Boolean; // read only
Transparent renvoie True quand la page active contient un objet dont l’alpha effectif est inférieur à 1.0 ou qui référence un état graphique activant la transparence — masques souples, valeurs d'opacité (CA / ca), modes de fusion non par défaut (/BM) ou groupes de transparence (section 11 de la spécification PDF 1.7). C'est le même indicateur que PDFium vérifie en interne pour décider si la page doit être rendue via son rasterizer de page transparente
La propriété est False lorsque Active est False ou lorsque la page est purement opaque. Les pages transparentes sont légèrement plus coûteuses à rendre — PDFium doit allouer un canal alpha et composer chaque objet contre l'arrière-plan de la page — donc détecter la transparence en amont permet aux appelants de choisir la bonne cible de sortie (bitmap TBitmap ARGB 32 bits, superposition de filigrane PDF, chemin compatible alpha du pilote d'impression)
La valeur est une propriété par page ; itérez sur chaque page si vous avez besoin d'une réponse globale du type « y a-t-il de la transparence quelque part dans le document ? ». Associez-la à la couleur Background lors du rendu vers un bitmap aplati : une page transparente sur un arrière-plan clWhite produit une sortie aplatie, tandis qu'un rendu sur une surface transparente conserve l'alpha pour la composition en aval
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;