FPDF_PAGEOBJECT pointer입니다
native PDFium C API를 직접 호출할 때 사용합니다property ObjectHandle[Index: Integer]: Pointer; // read only
PDFium가 현재 페이지의 Index 위치 페이지 객체를 식별하는 데 쓰는 불투명한
FPDF_PAGEOBJECT 포인터를 반환하며,
ObjectBounds, ObjectType 등
다른 indexed 객체 프로퍼티가 내부적으로 해석하는 것과 같은 핸들이 여기에 노출되므로, 고급
호출자는 컴포넌트가 아직 감싸지 않은 FPDFPageObj_*, FPDFPath_*, FPDFText_*,
FPDFImageObj_* 함수를 호출할 수 있습니다
핸들의 소유자는 현재 페이지이며 페이지가 로드되어 있는 동안에만 유효하고,
ReloadPage 호출, PageNumber 전환,
RemoveObject로 객체 제거, Active를
False로 설정은 이전에 캐시한 모든 ObjectHandle을 무효화합니다. 이미 페이지에 붙어 있는 핸들에
FPDFPageObj_Destroy를 호출하지 마세요 —
두 번 파괴하면 PDFium이 크래시합니다
가리키는 객체 종류로 분기할 때는 먼저 ObjectType을 쓰고, 그다음 캐스팅해서 알맞은 PDFium 헬퍼 계열을 호출하세요. 이 포인터는 한 페이지 세션 안의 호출들 사이에서 동일성 비교도 되므로, 편집 작업과 그 결과 객체를 연관 지을 때 유용합니다
| Index | 0 기반 페이지 객체 인덱스, 0 ≤ Index < ObjectCount |
Pointer로 선언되어 있으니 네이티브 호출에 넘기기 전에 FPDF_PAGEOBJECT로 캐스팅하세요nil을 반환합니다
// 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;