PDFium Component Docs

FormHandle 속성

이 API 항목은 식별자, 시그니처, 코드 블록, PDF 용어를 원래 형태로 유지합니다.
컴포넌트: TPdf  ·  유닛: PDFium
document에 연결된 native PDFium form-fill environment handle입니다

구문

property FormHandle: FPDF_FORMHANDLE; // read only

설명

FormHandle은 현재 로드된 document를 위해 FPDFDOC_InitFormFillEnvironment로 생성된 raw PDFium FPDF_FORMHANDLE을 노출합니다. 이 handle은 PDFium의 interactive-form layer로 들어가는 관문이며, 모든 FORM_*FPDF_FFL* function이 기대하는 parameter입니다. form field rendering, mouse / keyboard event delivery, focus tracking, JavaScript / XFA callback을 제어합니다(PDFium fpdf_formfill.h)

ActiveTrue가 되면 handle이 생성되고, ActiveFalse로 돌아가거나 component가 freed되면 삭제됩니다. 이 값은 opaque하고 수명이 짧다고 생각하세요 — 한 번의 load/unload cycle을 넘겨 저장하지 말고, FPDFDOC_ExitFormFillEnvironment를 직접 호출하지 마세요. 수명 관리는 component가 맡습니다

FormHandle은 고급 property로, 상위 수준의 FormField / FormFieldAt property가 충분히 세분화되지 않을 때 저수준 form event(custom mouse / keyboard delivery, programmatic field focus, scripted appearance regeneration, XFA refresh)를 라우팅하는 데 유용합니다. form rendering의 경우 VCL TPdfView가 이미 이 handle을 paint loop에 연결해 두므로, 제공된 viewer를 우회하거나 대체 event pipeline을 구현할 때만 수동 사용이 필요합니다

비고

예제

var FH: FPDF_FORMHANDLE;
Pdf1.Active := True;
FH := Pdf1.FormHandle;
if Assigned(FH) then
  FPDF_FFLDraw(FH, Bmp, Pdf1.Page, 0, 0, 800, 600, 0, FPDF_ANNOT);

참고 항목

Document, Page, FormType, FormFieldCount