PDFium Delphi Component Docs

ObjectHandle Свойство

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

Syntax

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

Description

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

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

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

Parameters

IndexИндекс объекта страницы с нуля, 0 ≤ Index < ObjectCount

Remarks

Example

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

See Also

ObjectCount, ObjectType, ObjectBounds, UpdatePage, RemoveObject