property Transparent: Boolean; // read only
Transparent는 활성 페이지에 유효 알파가 1.0 미만인 객체가 있거나 투명성을 활성화하는
그래픽 상태를 참조하는 객체가 있을 때 True를 반환합니다 — 소프트 마스크, 불투명도 값
(CA / ca), 기본이 아닌 혼합 모드(/BM), 투명 그룹(PDF 1.7 사양 11절).
이것은 PDFium이 페이지를 투명 페이지 래스터라이저로 렌더링해야 하는지 결정하기 위해 내부적으로 확인하는
것과 동일한 플래그입니다
Active가 False이거나 페이지가 완전히 불투명할 때 이 속성은 False입니다.
투명한 페이지는 렌더 비용이 약간 더 듭니다 — PDFium이 알파 채널을 할당하고 각 객체를 페이지 배경에
대해 합성해야 합니다. 따라서 투명성을 미리 감지하면 호출자가 올바른 출력 대상(32비트 ARGB
TBitmap, PDF 워터마크 오버레이, 프린터의 알파 인식 경로)을 선택할 수 있습니다
이 값은 페이지별 속성입니다. 문서 전체 “어디에든 투명성이 있는가?” 답이 필요하면 모든
페이지를 순회하세요. 평면 비트맵으로 렌더링할 때 Background 색상과 결합하세요.
clWhite 배경의 투명 페이지는 평탄화된 출력을 생성하지만, 투명 표면에 렌더링하면
다운스트림 합성을 위해 알파가 보존됩니다
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;