Что такое формат файла XFDF?
Файл .xfdf (XML Forms Data Format) представляет собой XML-документ, в котором хранятся только значения полей и аннотации для формы PDF - он НЕ содержит визуального макета формы или страниц документа. Представьте его как тонкий слой данных, который передается отдельно от пустой формы: чтобы восстановить заполненный документ, вы импортируете .xfdf обратно в соответствующий PDF в Acrobat или другом совместимом средстве просмотра.
Корневым элементом является <xfdf xmlns="http://ns.adobe.com/xfdf/">, который содержит блок <fields> с вложенными записями <field name="..."><value>...</value></field> для каждого элемента управления формой. Необязательный элемент <f href="..."/> указывает на связанный файл PDF. Блок <annots>, если он присутствует, переносит аннотации PDF, такие как выделения, заметки и штампы.
Adobe представила этот формат около 2000 года вместе с Acrobat 5 как XML-ориентированную альтернативу старому бинарному формату FDF. В отличие от .fdf, XFDF естественным образом интегрируется с веб-серверами, базами данных и любыми инструментами XML - сервер может генерировать или анализировать .xfdf с помощью стандартной библиотеки XML без необходимости использования специализированной библиотеки PDF. XFDF 3.0 был кодифицирован как ISO 19444-1:2019, что связало его со спецификацией PDF 2.0.
Файлы представляют собой обычный текст UTF-8, обычно размером 1-50 КБ, и открываются в любом текстовом редакторе. Acrobat, Foxit и большинство современных редакторов PDF поддерживают импорт и экспорт .xfdf.
Безопасность и защита
РИСК: LOWXFDF - это обычный XML без исполняемого кода. Он не может запускать скрипты или использовать уязвимости сам по себе. В старых версиях Acrobat теоретически была возможна XML-инъекция через вредоносный XFDF, но это требовало импорта пользователем в уязвимый Acrobat. Современные версии Acrobat очищают входные данные. Относитесь к XFDF из ненадежных источников с обычной осторожностью, но он не является значительным вектором угроз.
Детали формата
в двух словахПрограммы, открывающие файлы XFDF
Технические подробности
глубокая спецификация| Корневой элемент XML | `<xfdf xmlns="http://ns.adobe.com/xfdf/">`, содержащий `<fields>` и необязательный `<annots>` |
| MIME-тип | `application/vnd.adobe.xfdf` (основной); также принимается `application/xfdf` |
| Кодировка файла | UTF-8 обычный текст XML; UTF-8 с BOM также допустим |
| Сигнатура файла | `<?xml` со смещением байта 0 (стандартное объявление XML) |
| Спецификация | ISO 19444-1:2019 (XFDF 3.0), привязан к PDF 2.0 / ISO 32000-2 |
| Структура данных формы | `<fields>` с вложенными дочерними элемента `<field name>` / `<value>` для каждого элемента управления |
| Поддержка аннотаций | Блок `<annots>` переносит выделения, заметки, штампы и рукописные аннотации |
| Ссылка на PDF | Элемент `<f href="..."/>` связывает XFDF с соответствующим исходным PDF |
| Типичный размер файла | 1 КБ - 50 КБ (только данные полей; без содержимого страниц или встроенных изображений) |
| Сжатие | Встроенное сжатие отсутствует; может быть сжато с помощью gzip на уровне протокола HTTP |
| Модель безопасности | Встроенное шифрование отсутствует; безопасность зависит от настроек разрешений самого принимающего PDF |
| Ограничения по сравнению с FDF | Нет создания страниц, нет встроенных вложений - намеренное подмножество функциональности FDF |
| Инструментарий XML | Может генерироваться и анализироваться любой стандартной библиотекой XML; специальные инструменты PDF не требуются |
| Старая альтернатива | FDF (`.fdf`) - более широкий набор функций, но использует синтаксис объектов PDF, близкий к бинарному |
| Выпущен | 2000 (Acrobat 5 era); latest spec XFDF 3.0 - ISO 19444-1:2019, based on PDF 2.0 / ISO 32000-2 |
| Последняя версия | XFDF 3.0 (ISO 19444-1:2019) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.iso.org |
Конвертации XFDF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах XFDF.