property ObjectType[Index: Integer]: TObjectType; // read only
| Index | Zero-based page-object index, in the range 0 to ObjectCount - 1. |
ObjectType geeft een TObjectType-enumeratiewaarde terug die het type page object op Index beschrijft:
otText — text-showing operator (Tj, TJ, ', ") — een run glyphs die een font en text matrix delenotPath — vector path: lines, curves, rectangles en fills. Gebruik ObjectBounds om de on-page rectangle op te halenotImage — raster image. Combineer met ObjectBitmap om pixels op te halenotShading — gradient- of functie-gebaseerde shading pattern (PDF axial/radial/coon shading)otForm — form XObject: een herbruikbare sub-stream die zelf text, paths en images kan bevattenDe classificatie is stabiel en goedkoop; hem in een strakke loop over ObjectCount aanroepen is de standaardmanier om page content te triageren voordat je beslist welke zwaardere accessor (ObjectBitmap, ObjectBounds, character properties) je aanroept
Form XObjects worden door deze property niet recursief uitgewerkt — het type rapporteert otForm en callers moeten in de eigen object list van het form afdalen als ze leaf-level content nodig hebben
otText terug voor indexen buiten het geldige bereik; bescherm dit altijd met ObjectCountFPDF_PAGEOBJ_*-constanten uit de onderliggende native API
// Histogram van object types op de huidige pagina
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;