PDFium Component Docs

Transparent Eigenschaft

Dieser API-Eintrag behält Bezeichner, Signaturen, Codeblöcke und PDF-Begriffe in ihrer Originalform.
Komponente: TPdf  ·  Unit: PDFium
Ob die aktuell aktive Seite transparente Inhalte enthält

Syntax

property Transparent: Boolean; // read only

Beschreibung

Transparent gibt True zurück, wenn die aktive Seite irgendein Objekt enthält, dessen effektives Alpha kleiner als 1.0 ist oder das auf einen Graphics-State verweist, der Transparenz aktiviert — weiche Masken, Opazitätswerte (CA / ca), nicht standardmäßige Blend-Modi (/BM) oder Transparenzgruppen (PDF 1.7 spec section 11). Es ist dasselbe Flag, das PDFium intern prüft, um zu entscheiden, ob die Seite über den Transparent-Page-Rasterizer gerendert werden muss

Die Eigenschaft ist False, wenn Active False ist oder wenn die Seite vollständig deckend ist. Transparente Seiten sind etwas teurer zu rendern — PDFium muss einen Alphakanal anlegen und jedes Objekt gegen den Seitenhintergrund zusammensetzen — daher können Aufrufer durch frühe Erkennung der Transparenz das passende Ausgabemedium wählen (32-Bit-ARGB-TBitmap, PDF-Watermark-Overlay, alphabewusster Druckerpfad)

Der Wert ist eine Eigenschaft pro Seite; iterieren Sie über jede Seite, wenn Sie eine Antwort auf Dokumentebene wie „hat irgendwo Transparenz?“ benötigen. Kombinieren Sie ihn mit der Background-Farbe beim Rendern in ein flaches Bitmap: Eine transparente Seite auf clWhite-Hintergrund erzeugt abgeflachte Ausgabe, während das Rendern auf einer transparenten Fläche Alpha für nachgelagerte Komposition erhält

Hinweise

Beispiel

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;

Siehe auch

Active, PageNumber, ObjectTransparent, RenderPage