property ObjectType[Index: Integer]: TObjectType; // read only
| Index | 以 0 為基底的頁面物件索引,範圍為 0 到 ObjectCount - 1 |
ObjectType 傳回描述 Index 處頁面物件種類的 TObjectType 列舉值:
otText — 文字顯示運算子(Tj、TJ、'、")— 共用同一字型與文字矩陣的一串字形otPath — 向量路徑:線段、曲線、矩形與填滿。使用 ObjectBounds 可取得頁面上的矩形otImage — 點陣影像。搭配 ObjectBitmap 可取得像素otShading — 漸層或以函式為基礎的網底圖樣(PDF axial/radial/coon 網底)otForm — 表單 XObject:可重複使用的子串流,本身可再包含文字、路徑與影像此分類結果穩定且成本低;在 ObjectCount 的
緊密迴圈中呼叫它,是在決定要叫用哪個成本較高的存取子
(ObjectBitmap、ObjectBounds、字元屬性)之前,
對頁面內容進行分類檢傷的標準做法
此屬性不會遞迴展開表單 XObject — 型別只回報 otForm,
呼叫者若需要葉層級內容,必須自行深入表單自己的物件清單
// Histogram of object types on the current page
var
I: Integer;
Counts: array[TObjectType] of Integer;
T: TObjectType;
begin
FillChar(Counts, SizeOf(Counts), 0);
for I := 0 to Pdf.ObjectCount - 1 do
Inc(Counts[Pdf.ObjectType[I]]);
for T := Low(TObjectType) to High(TObjectType) do
Memo1.Lines.Add(Format('%s: %d', [GetEnumName(TypeInfo(TObjectType), Ord(T)), Counts[T]]));
end;