property ObjectCount: Integer; // read only
返回与打开 PDF 文档关联的页面对象(文本、路径、图像、渐变、表单)数量。当 Page 被赋值为不同的页面索引时计数会改变,因此它可以用作遍历每个 ObjectHandle[Index] 的 for 循环的上界
该值直接从底层 PDFium 引擎读取(要求 Active 为 True 且已加载当前页面)。当文档已关闭、在查询范围内没有页面对象(文本、路径、图像、渐变、表单)或该属性不适用于当前 PDF 时,结果为 0
因为该计数器由 PDFium 在首次访问时惰性计算,第一次调用可能触发相关对象流的解析(例如页面的 /Annots 数组或文档的 /Names 树)。后续调用是 O(1)
Active 为 False 或相关 PDF 字典条目缺失时返回 0ObjectHandle[Index] 时,将 0 .. ObjectCount - 1 视为有效范围。超出范围的索引抛出 EPdfError
var
I: Integer;
begin
if not Pdf1.Active then Exit;
Memo1.Lines.Add(Format('%d page objects (text, path, image, shading, form)', [Pdf1.ObjectCount]));
for I := 0 to Pdf1.ObjectCount - 1 do
begin
// 检查每个条目
Memo1.Lines.Add(Format(' [%d]', [I]));
end;
end;