property ObjectType[Index: Integer]: TObjectType; // read only
| Index | Index d’objet de page de base 0, dans la plage 0 à ObjectCount - 1 |
ObjectType renvoie une valeur d'énumération TObjectType décrivant le type d'objet de page à Index :
otText — opérateur d'affichage de texte (Tj, TJ, ', ") — un ensemble de glyphes partageant une police et une matrice de texteotPath — chemin vectoriel : lignes, courbes, rectangles et remplissages. Utilisez ObjectBounds pour obtenir le rectangle sur la pageotImage — image raster. Associez-la à ObjectBitmap pour récupérer les pixelsotShading — motif de dégradé ou de shading basé sur une fonction (shading axial / radial / coon PDF)otForm — form XObject : un sous-flux réutilisable pouvant lui-même contenir du texte, des chemins et des imagesCette classification est stable et peu coûteuse ; l'appeler dans une boucle serrée sur ObjectCount est la manière standard de trier le contenu de page avant de décider quel accesseur plus coûteux (ObjectBitmap, ObjectBounds, propriétés des caractères) appeler
Les form XObject ne sont pas développés récursivement par cette propriété — le type renvoie otForm et les appelants doivent descendre dans la liste d'objets propre au form s'ils ont besoin du contenu au niveau feuille
otText pour les indices qui tombent hors de la plage valide ; protégez-vous toujours avec ObjectCountFPDF_PAGEOBJ_* de PDFium de l’API native sous-jacente
// 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;