property ImageCount: Integer; // read only
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 по требованию; если результат нужен больше одного раза на страницу, закэшируйте его
BI/ID/EI), PDFium репортит вместе с XObject-изображениями, поэтому они учтеныImageCount = 0 как быструю проверку “страница только с текстом” перед дорогими OCR или генерацией миниатюр
// 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;