PDFium Delphi Component Docs

Transparent プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
現在アクティブなページが透明なコンテンツを含むかどうか

Syntax

property Transparent: Boolean; // read only

Description

Transparent はアクティブページが、実効アルファが 1.0 未満のオブジェクト、または透明性を有効にするグラフィックス状態(ソフトマスク、不透明度値(CA / ca)、既定以外のブレンドモード(/BM)、透明グループ(PDF 1.7 仕様 11 節))を参照するオブジェクトを含むときに True を返します。これは PDFium がページを透明ページラスタライザー経由でレンダリングする必要があるかを判断するために内部で確認するのと同じフラグです

Active が False のときやページが純粋に不透明なとき、プロパティは False です。透明なページはレンダリングのコストがやや高くなります。PDFium はアルファチャネルを割り当て、各オブジェクトをページ背景に対して合成する必要があるためです。そのため透明性を事前に検出すると、呼び出し側が適切な出力ターゲット(32 ビット ARGB TBitmap、PDF 透かしオーバーレイ、プリンターのアルファ対応パス)を選択できます

この値はページごとのプロパティです。文書全体で「どこかに透明性があるか?」の答えが必要な場合はすべてのページを反復します。フラットビットマップへレンダリングするときは Background 色と組み合わせます。clWhite 背景の透明ページはフラット化された出力を生成し、透明サーフェス上へのレンダリングは下流の合成のためにアルファを保持します

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