FPDF_PAGEOBJECT pointer입니다
native PDFium C API를 직접 호출할 때 사용합니다property ObjectHandle[Index: Integer]: Pointer; // read only
PDFium이 current page의 Index 위치에 있는 page object를 식별하기 위해 사용하는 opaque FPDF_PAGEOBJECT pointer를 반환합니다. ObjectBounds, ObjectType 및 다른 indexed object property가 내부적으로 해석하는 것과 같은 handle을 여기서 노출하므로, component가 아직 감싸지 않은 FPDFPageObj_*, FPDFPath_*, FPDFText_*, FPDFImageObj_* 함수를 고급 호출자가 직접 사용할 수 있습니다
이 handle은 current page가 소유하며 page가 로드되어 있는 동안에만 유효합니다. ReloadPage를 호출하거나, PageNumber를 바꾸거나, RemoveObject로 object를 제거하거나, Active를 False로 설정하면 이전에 캐시한 모든 ObjectHandle이 무효화됩니다. 이미 page에 붙어 있는 handle에 FPDFPageObj_Destroy를 호출하지 마세요. 두 번 파괴하면 PDFium이 충돌합니다
먼저 ObjectType으로 대상 object 종류를 분기한 다음, 적절한 PDFium helper family를 캐스팅해서 호출하세요. 이 pointer는 단일 page session 안의 여러 호출 사이에서 동일성 비교도 할 수 있으므로, 편집 작업과 그 결과 object를 대응할 때 유용합니다
| Index | Zero-based page-object index, 0 ≤ Index < ObjectCount. |
Pointer로 선언됩니다. native call에 넘기기 전에 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;