Документация PDFiumPas

FormHandle Свойство

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Родной дескриптор среды form-fill PDFium, привязанный к документу

Синтаксис

property FormHandle: FPDF_FORMHANDLE; // read only

Описание

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

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

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