property ObjectType[Index: Integer]: TObjectType; // nur lesbar
| Index | 0-basierter Seitenobjektindex im Bereich 0 bis ObjectCount - 1 |
ObjectType gibt einen TObjectType-Enumerationswert zurück, der
die Art des Seitenobjekts bei Index beschreibt
otText — Textanzeige-Operator (Tj, TJ, ', ") — ein Glyphenlauf mit gemeinsamem Font und TextmatrixotPath — Vektorpfad: Linien, Kurven, Rechtecke und Füllungen Verwenden Sie ObjectBounds, um das Seitenrechteck zu erhaltenotImage — Rasterbild Kombinieren Sie es mit ObjectBitmap, um Pixel abzurufenotShading — Verlauf oder funktionsbasiertes Shading-Muster (PDF axialer / radialer / coon Shading)otForm — Form-XObject: ein wiederverwendbarer Unterstrom, der selbst Text, Pfade und Bilder enthalten kannDie Klassifizierung ist stabil und günstig; sie in einer engen Schleife über
ObjectCount aufzurufen, ist der übliche Weg, um
Seiteninhalt zu sichten, bevor entschieden wird, welcher teurere Zugriff
(ObjectBitmap, ObjectBounds, Zeicheneigenschaften) aufgerufen
werden soll
Form-XObjects werden von dieser Eigenschaft nicht rekursiv erweitert —
der Typ meldet otForm, und Aufrufer müssen in die eigene Objektliste des
Formulars hinabsteigen, wenn sie den Inhalt auf Blattebene benötigen
otText zurückgegeben; schützen Sie immer mit ObjectCountFPDF_PAGEOBJ_*-Konstanten aus der zugrunde liegenden nativen API wider
// Histogramm der Objekttypen auf der aktuellen Seite
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;