FPDF_PAGEOBJECT PDFium для указанного page object,
предназначенный для прямых вызовов в native PDFium C APIproperty ObjectHandle[Index: Integer]: Pointer; // read only
Возвращает непрозрачный указатель FPDF_PAGEOBJECT, которым PDFium идентифицирует объект страницы в позиции Index на текущей странице. Тот же дескриптор, который внутри резолвят ObjectBounds, ObjectType и другие индексированные свойства объектов, выведен наружу, чтобы продвинутые вызывающие могли вызывать FPDFPageObj_*, FPDFPath_*, FPDFText_* или FPDFImageObj_*, ещё не обёрнутые компонентом
Дескриптором владеет текущая страница, и он валиден, только пока страница загружена Вызов ReloadPage, смена PageNumber, удаление объекта через RemoveObject или установка Active в False делают недействительными все ранее кэшированные ObjectHandle. Никогда не вызывайте FPDFPageObj_Destroy на дескрипторе, уже прикреплённом к странице — двойное уничтожение уронит PDFium
Сначала через ObjectType определите, на объект какого типа указываете, затем кастуйте и вызывайте подходящее семейство хелперов PDFium. Указатель можно сравнивать по идентичности между вызовами в рамках одной сессии страницы — удобно сопоставлять операции редактирования с их объектами-результатами
| Index | Индекс объекта страницы с нуля, 0 ≤ Index < ObjectCount |
Pointer ради ABI-переносимости; перед нативными вызовами кастуйте к FPDF_PAGEOBJECTnil, а не бросают
// 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;