property FormFieldAt[X, Y: Single]: WString; // read / write
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
SaveToFile / SaveToStreamFormFieldAt / FormField безопасны, но никогда не вызывайте их из фоновых потоков — поля форм PDFium не потокобезопасны
// 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';