PDFium Delphi Component Docs

Transparent Eigenschaft

Komponente: TPdf  ·  Unit: PDFium
Ob die aktuell aktive Seite transparente Inhalte enthält

Syntax

property Transparent: Boolean; // read only

Description

Transparent liefert True, wenn die aktive Seite irgendein Objekt enthält, dessen effektive Alpha kleiner als 1.0 ist oder das auf einen Graphics State verweist, der Transparenz anschaltet — Soft Masks, Opazitätswerte (CA / ca), nicht-standardmäßige Blend-Modes (/BM) oder Transparency Groups (PDF 1.7 spec section 11). Denselben Flag prüft PDFium intern, um zu entscheiden, ob die Seite durch ihren Rasterizer für transparente Seiten muss

Die Eigenschaft ist False, wenn Active False ist oder die Seite rein opak. Transparente Seiten sind etwas teurer im Rendering — PDFium muss einen Alphakanal allokieren und jedes Objekt gegen den Seitenhintergrund komponieren — Transparenz also früh zu erkennen erlaubt es Aufrufern, das richtige Ausgabeziel zu wählen (32-Bit-ARGB-TBitmap, PDF-Wasserzeichen-Overlay, den Alpha-bewussten Pfad des Druckers)

Der Wert gilt je Seite; iterieren Sie über alle Seiten, wenn Sie eine dokumentweite “gibt es irgendwo Transparenz?”-Antwort brauchen. Beim Rendern in eine flache Bitmap mit der Background-Farbe kombinieren: Eine transparente Seite auf clWhite-Hintergrund liefert eingeebnete Ausgabe, während das Rendern auf einer transparenten Oberfläche Alpha für die nachgelagerte Komposition erhält

Remarks

Example

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;

See Also

Active, PageNumber, ObjectTransparent, RenderPage