Документация PDFiumPas

ObjectType Свойство

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Возвращает категорию page object по заданному индексу — text, path, image, shading или form XObject. Классификация соответствует оператору PDF content stream, который создал объект, и позволяет вызывающему коду обходить массив page object через один switch dispatch

Синтаксис

property ObjectType[Index: Integer]: TObjectType; // read only

IndexИндекс page object с нуля, в диапазоне от 0 до ObjectCount - 1

Описание

ObjectType возвращает значение перечисления TObjectType, описывающее вид page object в Index:

Классификация стабильна и недорога; вызов в tight loop по ObjectCount — стандартный способ рассортировать content страницы перед выбором более дорогого accessor (ObjectBitmap, ObjectBounds, свойства символов)

Form XObjects этим свойством не раскрываются рекурсивно — тип сообщает otForm, и вызывающему коду нужно спуститься в собственный список объектов формы, если нужен leaf-level content

Примечания

Пример

// 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;

См. также

ObjectCount, ObjectBounds, ObjectBitmap, RemoveObject