property ObjectType[Index: Integer]: TObjectType; // read only
| Index | Индекс page object, отсчитываемый от нуля, в диапазоне от 0 до ObjectCount - 1 |
ObjectType возвращает значение перечисления TObjectType, описывающее
тип page object по индексу Index:
otText — оператор вывода текста (Tj, TJ, ', ") — последовательность глифов с общей гарнитурой и текстовой матрицейotPath — векторный путь: линии, кривые, прямоугольники и заливки. Используйте ObjectBounds, чтобы получить прямоугольник на страницеotImage — растровое изображение. Используйте совместно с ObjectBitmap для получения пикселейotShading — градиент или шаблон заливки на основе функций (аксиальное, радиальное или coon затенение PDF)otForm — form XObject: повторно используемый подпоток, который сам может содержать текст, пути и изображенияКлассификация стабильна и недорога; вызов её в плотном цикле по
ObjectCount — стандартный способ предварительно
разложить содержимое страницы, прежде чем решать, какой более затратный метод доступа
(ObjectBitmap, ObjectBounds, свойства символов) вызывать
Это свойство не разворачивает form XObject рекурсивно — тип сообщается как
otForm, и вызывающему коду нужно спускаться в собственный список объектов
формы, если требуется содержимое конечного уровня
otText; всегда выполняйте проверку через ObjectCountFPDF_PAGEOBJ_* из базового нативного API PDFium
// 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;