PDFium Component Docs

ObjectHandle 속성

이 API 항목은 식별자, 시그니처, 코드 블록, PDF 용어를 원래 형태로 유지합니다.
컴포넌트: TPdf  ·  유닛: PDFium
지정한 page object에 대한 raw PDFium 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를 제거하거나, ActiveFalse로 설정하면 이전에 캐시한 모든 ObjectHandle이 무효화됩니다. 이미 page에 붙어 있는 handle에 FPDFPageObj_Destroy를 호출하지 마세요. 두 번 파괴하면 PDFium이 충돌합니다

먼저 ObjectType으로 대상 object 종류를 분기한 다음, 적절한 PDFium helper family를 캐스팅해서 호출하세요. 이 pointer는 단일 page session 안의 여러 호출 사이에서 동일성 비교도 할 수 있으므로, 편집 작업과 그 결과 object를 대응할 때 유용합니다

매개변수

IndexZero-based page-object index, 0 ≤ Index < ObjectCount.

비고

예제

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

참고 항목

ObjectCount, ObjectType, ObjectBounds, UpdatePage, RemoveObject