PDFium Delphi Component Docs

FormHandle Свойство

Компонент: TPdf  ·  Модуль: PDFium
Родной дескриптор среды form-fill PDFium, привязанный к документу

Syntax

property FormHandle: FPDF_FORMHANDLE; // read only

Description

FormHandle отдаёт сырой FPDF_FORMHANDLE из PDFium, созданный через FPDFDOC_InitFormFillEnvironment для текущего загруженного документа. Этот дескриптор — вход в слой интерактивных форм PDFium: его ожидает каждая функция FORM_* и FPDF_FFL*, он управляет отрисовкой полей форм, доставкой событий мыши/клавиатуры, отслеживанием фокуса и Callback JavaScript / XFA (PDFium fpdf_formfill.h)

Дескриптор создаётся, когда Active становится равным True, и уничтожается, когда Active возвращается в False или компонент освобождается. Считайте его непрозрачным и короткоживущим — не храните значение дольше одного цикла загрузки/выгрузки и никогда не вызывайте на нём FPDFDOC_ExitFormFillEnvironment сами; временем жизни владеет компонент

FormHandle — свойство для продвинутых сценариев: маршрутизация низкоуровневых событий форм (своя доставка мыши/клавиатуры, программная установка фокуса поля, скриптовая перегенерация appearance, обновление XFA), когда высокоуровневым свойствам FormField / FormFieldAt не хватает гранулярности. Для отрисовки форм VCL TPdfView уже вплетает этот дескриптор в цикл отрисовки; вручную он нужен, только если вы обходите готовый вьювер или строите альтернативный конвейер событий

Remarks

Example

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

See Also

Document, Page, FormType, FormFieldCount