PDFiumPas 文档

ImageCount 属性

此 API 条目保留标识符、签名、代码块和 PDF 术语的原始形式。
组件: TPdf  ·  单元: PDFium
当前活动页面上的光栅图像 XObject 数量。

语法

property ImageCount: Integer; // read only

说明

ImageCount 会枚举 PageNumber 所选页面上类型为 FPDF_PAGEOBJ_IMAGE 的每一个页面对象。从 PDF 的角度看,这些就是页面内容流引用的 Image XObject(PDF 1.7 规范第 8.9 节)。矢量内容、表单 XObject、渐变和文本字形都会被刻意排除,因此这个值与人工读者会称作页面上的“图片”的内容一致

此属性要求 ActiveTruePageNumber 有效。当文档未加载时,值为 0。ImageCount 是按页统计的;要得到整份文档的总数,请遍历每一页并把计数累加。ImageCount 等同于 BitmapCount,并且与返回已解码 TPdfImage 记录(Width、Height、原始像素字节)的 Image[Index] 索引器自然配对

典型循环模式是 for I := 0 to Pdf.ImageCount - 1 do,其中 Pdf.Image[I] 会返回解码后的像素。其成本会随着图像数据大小增长,因为 PDFium 会按需解码 JPEG / JPEG2000 / CCITTFax / Flate 流;如果每页要多次使用,请缓存结果

备注

示例

// 将当前页面上的每个图像保存到磁盘
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;

另请参阅

Image, BitmapCount, Bitmap, ObjectCount