Документация PDFiumPas

AddImage Метод

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Вставляет изображение из файла на текущую PDF-страницу. Внутренне использует TPicture.LoadFromFile, поэтому поддерживается любой формат изображения, зарегистрированный в графической системе VCL или LCL. Это включает BMP, PNG (через Vcl.Imaging.PngImage или эквивалент LCL), JPEG и другие. Координаты заданы в пользовательском пространстве PDF, где начало находится в левом нижнем углу страницы; Width и Height задают размер размещения в пользовательских единицах, а не размер исходного изображения в пикселях

Синтаксис

procedure AddImage(const FileName: string; X, Y, Width, Height: Double);

FileNamestring. Полный путь к файлу изображения. Допускается любой формат, зарегистрированный в графической системе VCL/LCL, включая BMP, PNG, JPG и другие

 

procedure AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double);

BitmapTBitmap. Предварительно загруженный bitmap с PixelFormat = pf32bit. Не должен быть nil; иначе выбрасывается EPdfError

Описание

AddImage размещает изображение на текущей PDF-странице в указанной позиции и размере. Доступны две перегрузки: одна загружает изображение напрямую из пути к файлу, другая принимает уже подготовленный объект TBitmap

Перегрузка на основе файла внутренне использует TPicture.LoadFromFile, поэтому поддерживается любой формат изображения, зарегистрированный в графической системе VCL или LCL, включая BMP, PNG (через Vcl.Imaging.PngImage или эквивалент LCL), JPEG и другие. Перед вызовом метода убедитесь, что нужные модули подключены в секции uses проекта

Перегрузка для bitmap принимает TBitmap с PixelFormat = pf32bit. Это полезно, когда bitmap уже находится в памяти, например после отрисовки вне экрана, и позволяет избежать обращения к диску или к TPicture. Передача nil-bitmap вызывает исключение EPdfError

Параметры X и Y задают левый нижний угол прямоугольника размещения изображения в единицах пользователя PDF (начало координат в левом нижнем углу страницы, Y растет вверх). Width и Height задают размер отрисовки на странице; исходное изображение масштабируется под эти размеры независимо от пиксельного разрешения

Пример

// Разместить PNG-файл в точке (72, 600), отрисованный как 200 x 150 pt на странице
Pdf1.NewPage(595, 842);
Pdf1.AddImage('C:\Images\logo.png', 72, 600, 200, 150);

// Добавить заранее подготовленный 32-битный bitmap
var
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.PixelFormat := pf32bit;
    Bmp.LoadFromFile('C:\Images\photo.bmp');
    Pdf1.AddImage(Bmp, 72, 400, 300, 200);
  finally
    Bmp.Free;
  end;
end;

См. также

AddPicture, AddJpegImage, AddText