Для сравнения и устранения неполадок я создал (в основном) эквивалентную PDF-форму непосредственно (с нуля) с помощью PyMuPDF. Форма PyMuPDF обеспечивает поведение поля формы (виджета), как и ожидалось, для нажатия клавиши и числового формата в Chrome и Acrobat. Форма PyMuPDF отображает свойства полей в Acrobat Pro, как и следовало ожидать. Попытки ввода недопустимых символов блокируются в Acrobat. В Chrome отображается диалоговое окно предупреждения. Форматирование (включая символы валюты, процентов и десятичные знаки) применяется при потере фокуса.

Форма IronPDF обеспечивает частичную функциональность JavaScript в Chrome. Попытка ввести недопустимые (нечисловые) символы в поля формы приводит к появлению диалогового окна предупреждения (выше), определяющего недопустимый ввод. Однако указанное числовое форматирование не применяется.
Сравнение постобработанной формы IronPDF и формы PyMuPDF показывает следующее:
PyMuPDF:
Код: Выделить всё
pdf __dict__: {'is_closed': False, 'is_encrypted': False, 'metadata': {'format': 'PDF 1.7', 'title': '', 'author': '', 'subject': '', 'keywords': '', 'creator': '', 'producer': '', 'creationDate': '', 'modDate': '', 'trapped': '', 'encryption': None}, 'FontInfos': [], 'Graftmaps': {}, 'ShownPages': {}, 'InsertedImages': {}, '_page_refs': , '_name': '../ACL_Forms/FormattedPDF/fillable_form2.pdf', 'stream': None, 'thisown': True, '_graft_id': 4, '_outline':
}
Код: Выделить всё
pdf __dict__: {'is_closed': False, 'is_encrypted': False, 'metadata': {'format': 'PDF 1.4', 'title': 'This is a Test', 'author': '', 'subject': '', 'keywords': '', 'creator': 'IronPdf', 'producer': 'IronPdf v2025.6.16', 'creationDate': "D:20251024154451+00'00'", 'modDate': "D:20251024154451+00'00'", 'trapped': '', 'encryption': None}, 'FontInfos': [], 'Graftmaps': {}, 'ShownPages': {}, 'InsertedImages': {}, '_page_refs': , '_name': '../ACL_Forms/FormattedPDF/fefillable_form2.pdf', 'stream': None, 'thisown': True, '_graft_id': 2, '_outline':
}
Код: Выделить всё
widget script: None
widget script_blur: None
widget script_calc: None
widget script_change: None
widget script_focus: None
widget script_format: AFNumber_Format(2, 0, 0, 0, "$ ", true);
widget script_stroke: AFNumber_Keystroke(2, 0, 0, 0, "$ ", true);
widget text_color: [0.0, 0.0, 0.0]
widget text_font: Helv
widget text_fontsize: 12.0
widget text_format: 1
widget text_maxlen: 0
PyMuPDF:
Код: Выделить всё
widget._annot info: {'content': '', 'name': '', 'title': 'FieldName_Currency', 'creationDate': '', 'modDate': '', 'subject': '', 'id': 'fitz-W0'}
Код: Выделить всё
widget._annot info: {'content': '', 'name': '', 'title': '', 'creationDate': '', 'modDate': '', 'subject': '', 'id': ''}
Файлы PDF и код Python загружены на Github.
Любая помощь в определении отсутствующего свойства приветствуется. Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ng-pymupdf
Мобильная версия