PDFium Delphi Component Docs

ImageCount Свойство

Компонент: TPdf  ·  Модуль: PDFium
Количество растровых Image XObjects на текущей активной странице

Syntax

property ImageCount: Integer; // read only

Description

ImageCount перечисляет каждый объект страницы с типом FPDF_PAGEOBJ_IMAGE на странице, выбранной в PageNumber. На языке PDF это Image XObjects, на которые ссылается content stream страницы (раздел 8.9 спецификации PDF 1.7) Векторный контент, form XObjects, шейдинги и текстовые глифы сознательно исключены, так что значение совпадает с тем, что человек назвал бы “картинкой” на странице

Свойству требуются Active = True и валидный PageNumber. Когда документ не загружен, значение равно 0 ImageCount — величина на страницу; чтобы получить итог по документу, обойдите все страницы и накопите count. ImageCount эквивалентен BitmapCount и существует для естественной пары с индексатором Image[Index], возвращающим декодированную запись TPdfImage (Width, Height, сырые пиксельные байты)

Типичный цикл: for I := 0 to Pdf.ImageCount - 1 do, где Pdf.Image[I] даёт декодированные пиксели. Стоимость растёт с размером данных изображения, потому что PDFium декодирует потоки JPEG / JPEG2000 / CCITTFax / Flate по требованию; если результат нужен больше одного раза на страницу, закэшируйте его

Remarks

Example

// Save every image on the current page to disk.
var I: Integer;
var Img: TPdfImage;
begin
  Pdf1.Active := True;
  for I := 0 to Pdf1.ImageCount - 1 do
  begin
    Img := Pdf1.Image[I];
    TFile.WriteAllBytes(Format('page%d_img%d.bin', [Pdf1.PageNumber, I]), Img.Data);
  end;
end;

See Also

Image, BitmapCount, Bitmap, ObjectCount