Внешние виды форм в нативном 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 · Процессы подписания · Оставшийся план поставки