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

ObjectHandle Свойство

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Сырой указатель FPDF_PAGEOBJECT PDFium для указанного page object, предназначенный для прямых вызовов в native PDFium C API

Синтаксис

property ObjectHandle[Index: Integer]: Pointer; // read only

Описание

Возвращает непрозрачный указатель FPDF_PAGEOBJECT, который PDFium использует, чтобы идентифицировать page object в позиции Index на текущей странице. Здесь показывается тот же handle, который ObjectBounds, ObjectType и другие индексированные свойства объектов разрешают внутри, чтобы опытные пользователи могли вызывать функции FPDFPageObj_*, FPDFPath_*, FPDFText_* или FPDFImageObj_*, которые еще не обернуты компонентом

Handle принадлежит текущей странице и остается действительным только пока страница загружена. Вызов ReloadPage, переключение PageNumber, удаление объекта через RemoveObject или установка Active в False делают недействительным каждый ранее сохраненный ObjectHandle. Никогда не вызывайте FPDFPageObj_Destroy для handle, который уже привязан к странице — двойное уничтожение приведет к падению PDFium

Сначала используйте ObjectType, чтобы определить вид объекта, на который вы указываете, затем приводите тип и вызывайте соответствующее семейство helpers PDFium. Указатель также можно сравнивать на тождество между вызовами в пределах одной сессии страницы, что полезно при сопоставлении операций редактирования с получившимися объектами

Параметры

IndexИндекс page object с нуля, 0 ≤ Index < ObjectCount

Примечания

Пример

// Read the blend mode of the first object using the raw PDFium API.
uses PDFiumLib;
var Obj: FPDF_PAGEOBJECT;
var Blend: array[0..15] of AnsiChar;
begin
  Obj := Pdf1.ObjectHandle[0];
  if Assigned(Obj) then
    FPDFPageObj_GetBlendMode(Obj, @Blend[0], SizeOf(Blend));
  ShowMessage(string(Blend));
end;

См. также

ObjectCount, ObjectType, ObjectBounds, UpdatePage, RemoveObject