Внешние виды форм в нативном Linux ABI

hpdf_document_execute_json_v1 заполняет загруженные поля AcroForm через forms.fill, по умолчанию генерируя соответствующие normal-внешние виды и сохраняя исходные ревизии PDF, пароли, словарь безопасности и ID документов

{"schemaVersion":1,"type":"forms.fill","fields":[
  {"name":"Notes","value":"First line Ω\nSecond café","fontSize":13},
  {"name":"Combo","value":"two"},
  {"name":"Colors","values":["blue","red"]},
  {"name":"Check","checked":true},
  {"name":"Radio","checked":true,"onState":"B"},
  {"name":"Submit","caption":"Send Ω"}
]}

Значения полей и внешние виды

Текстовые поля принимают value или типизированные richTextRuns; переданное value вместе с richTextRuns должно в точности совпадать с производным простым текстом, включая разделители абзацев CR

Простые внешние виды учитывают унаследованные настройки multiline, comb, выравнивания и поворота и встраивают выбранный шрифт Unicode TrueType; стилевые run несут явные стиль шрифта, размер, цвет, выравнивание, разрывы абзацев и оформление

Текстовые поля паролей маскируют внешние виды и карты глифов — по одной точке на скаляр Unicode, сохраняя реальное сохранённое значение поля и исходное шифрование; поля выбора файла показывают литеральный путь Unicode, не открывая выбранный файл

Поля выбора принимают одну строку value или полный массив values, но не оба сразу; экспортные значения отображаются в текст вариантов, множественные выборы сортируются по индексу варианта, а пустой массив очищает выбор

Checkbox и radio-группы требуют булево checked; onState по умолчанию равен Yes и при явной передаче выбирает совпадающий radio-виджет, а очистка обновляет состояния и поля, и виджета

Push-кнопки требуют caption, которая отрисовывается выбранным встроенным шрифтом Unicode

forms.read включает полный массив values для каждого поля выбора, включая пустой массив после очистки; скалярный член value по-прежнему доступен

Для rich-полей forms.read также возвращает сохранённую XHTML-строку richText; обычные замены значений синхронизируют RV, а стилевым run нужна генерация внешнего вида

Опции и публикация

Каждое редактирование принимает fontFamily (по умолчанию DejaVu Sans), fontSize (12), padding (2), characterSpacing (0), wordSpacing (0) и paintWhiteBackground (true)

Типизированные rich-правки могут также использовать массивы fontFamilies и выбор семейства для каждого run, сохраняя исходное поведение одиночного семейства, когда массив отсутствует

Текстовые правки могут явно задавать appearance:false для обновления только значения; правки полей выбора и кнопок требуют генерации внешнего вида

Неизвестные поля, дублирующиеся правки, некорректные выборы, избыточные comb-значения, некорректные параметры, отмена, исчерпание ресурсов и сбойные callback оставляют текущий загруженный документ без изменений; вывод подготавливается до запуска любого callback публикации бинарных данных

Результат операции содержит updated и текущий список полей; поддерживаемые типы внешних видов можно узнать через массив возможностей formAppearances

Приёмка нативного C ABI генерирует реальные form-выводы в открытом тексте и с AES R5/R6; независимые проверки pypdf и MuPDF изучают индексы выбора, состояния виджетов, встроенные шрифты, значения Unicode, шифрование и реальные пиксели внешних видов

Нативный Linux C ABI · Процессы подписания · Оставшийся план поставки