PDFium Delphi Component Docs

FormFieldAt Свойство

Компонент: TPdf  ·  Модуль: PDFium
Читает или записывает значение поля формы, расположенного по заданной координате страницы

Syntax

property FormFieldAt[X, Y: Single]: WString; // read / write

Description

FormFieldAt находит widget-аннотацию AcroForm, содержащую точку (X, Y) в координатах страницы, и отдаёт её значение строкой Unicode. Координаты заданы в пользовательском пространстве PDF: начало в левом нижнем углу страницы, единицы — пункты (1/72 дюйма). Чтение свойства возвращает текущее значение поля (/V), декодированное в WString; запись обновляет поле и перегенерирует appearance streams, чтобы новое значение отрисовалось при следующей перерисовке

Пустая строка возвращается, когда Active равно False, когда в документе нет AcroForm или когда ни один виджет не накрывает координату. Политика совпадения как у FormFieldInfoAt: только прямоугольники виджетов (без hit testing по appearance), при перекрытии выигрывает верхний виджет. Запись мимо всех виджетов — пустая операция

Для виджетов-чекбоксов и радиокнопок семантика значения следует спецификации PDF — присваивание 'Off' сбрасывает поле, а присваивание значения, совпадающего с именем on-состояния /AP /N виджета (обычно 'Yes' или export value), ставит галочку. Для текстовых полей всё присвоенное становится новым содержимым /V. Списки / комбобоксы принимают export value, связанный с одной из опций. Если тип поля неизвестен, сначала загляните в FieldType через FormFieldInfoAt

Remarks

Example

// Toggle a checkbox located at (120, 300) on the current page.
if Pdf1.FormFieldAt[120.0, 300.0] = 'Off' then
  Pdf1.FormFieldAt[120.0, 300.0] := 'Yes'
else
  Pdf1.FormFieldAt[120.0, 300.0] := 'Off';

See Also

FormFieldInfoAt, HasFormFieldAt, FormField, FormFieldCount