PDFium Delphi Component Docs

Transparent Свойство

Компонент: TPdf  ·  Модуль: PDFium
Указывает, содержит ли текущая активная страница прозрачное содержимое

Syntax

property Transparent: Boolean; // read only

Description

Transparent возвращает True, когда активная страница содержит любой объект, эффективная альфа которого меньше 1.0 или который ссылается на графическое состояние, включающее прозрачность — мягкие маски, значения непрозрачности (CA / ca), нестандартные режимы наложения (/BM) или группы прозрачности (спецификация PDF 1.7, раздел 11). Это тот же флаг, который PDFium проверяет внутренне для принятия решения о том, должна ли страница обрабатываться через его растеризатор прозрачных страниц

Свойство равно False, когда Active равно 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