FPDF_PAGEOBJECT PDFium для указанного page object,
предназначенный для прямых вызовов в native PDFium C APIproperty 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 |
Pointer ради ABI portability; перед передачей в native calls приведите его к 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;