Что такое XFDF? XML-формат для PDF-аннотаций простыми словами
Файл XFDF — это XML-представление PDF-аннотаций. XFDF расшифровывается как XML Forms Data Format и был представлен Adobe как переносимый, удобный для чтения способ хранить выделения, комментарии и данные форм PDF отдельно от самого документа. Вместо встраивания аннотаций внутрь бинарного PDF XFDF сохраняет их в текстовой XML-структуре, которую могут обрабатывать поддерживающие стандарт инструменты — именно поэтому PDFAnnotations использует его как формат ввода наряду с PDF и XML FDF.
Если вы когда-либо экспортировали аннотации из Adobe Acrobat и получали маленький файл .xfdf рядом с вашим PDF, это руководство объясняет, что на самом деле содержит этот файл, как он соотносится со старым форматом FDF и как открывать, просматривать и конвертировать файлы XFDF в Markdown, заметки Obsidian, JSON или CSV.
Что означает XFDF?
XFDF расшифровывается как XML Forms Data Format. Разберём подробнее:
- XML — файл является чистым Extensible Markup Language, что означает, что вы можете открыть его в любом текстовом редакторе, сравнивать в git и парсить любой стандартной XML-библиотекой.
- Forms Data — формат изначально был разработан для переноса значений полей форм, но Adobe расширила его, чтобы он также переносил данные аннотаций (выделения, заметки, подчёркивания, зачёркивания, свободный текст).
- Format — это опубликованная спецификация, а не проприетарный бинарный blob. Adobe документирует схему XFDF в SDK Acrobat.
В результате получается компактный XML-файл — часто всего несколько килобайт — со стандартными аннотациями, готовый к повторному импорту в Acrobat или загрузке в конвертер.
Что внутри файла XFDF?
Файл XFDF — это структурированный XML. Корневой элемент — <xfdf>, и внутри него обычно находятся:
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<f href="research-paper.pdf"/>
<ids original="abc123def456" modified="789012abc"/>
<annots>
<highlight page="0" color="#FFEB3B" opacity="1.0"
subject="Highlight" name="ann_001"
date="D:20260720120000Z" creationdate="D:20260720115900Z">
<contents>This is the key argument of the paper.</contents>
<Popup page="0" rect="100,200,300,250" open="no"/>
</highlight>
<text page="2" color="#4F46E5" opacity="1.0"
subject="Note" name="ann_002"
date="D:20260720121000Z">
<contents>Review this section carefully before citing.</contents>
<Popup page="2" rect="120,220,260,260" open="no"/>
</text>
<underline page="5" color="#FF9800"
subject="Underline" name="ann_003"
date="D:20260720121500Z">
<contents>Definition of construct validity.</contents>
<Popup page="5" rect="80,180,300,220" open="no"/>
</underline>
</annots>
</xfdf>
Самые важные элементы:
| Элемент | Назначение |
|---|---|
<f href="..."/> |
Указывает на имя исходного PDF-файла. |
<ids> |
Внутренние идентификаторы Acrobat, используемые для обратного преобразования. |
<annots> |
Контейнер для всех элементов аннотаций. |
<highlight>, <text>, <underline>, <strikeout> |
Отдельные типы аннотаций. |
атрибут page |
Номер страницы (с нуля), где находится аннотация. |
атрибут color |
RGB-цвет разметки в шестнадцатеричном виде. |
date / creationdate |
Формат даты PDF Adobe (D:YYYYMMDDHHmmSSZ). |
<contents> |
Текст комментария или заметки, введённый вами. |
<Popup> |
Положение плавающего всплывающего комментария в исходном PDF. |
Поскольку XFDF — это чистый XML, вы можете вручную проверить любую аннотацию, писать скрипты для неё или конвертировать в любой другой формат несколькими строками кода.
XFDF vs FDF vs PDF-аннотации
PDF-аннотации могут жить в трёх разных местах, и у каждого есть компромиссы. Понимание разницы помогает выбрать правильный формат для вашего рабочего процесса.
Встроенные PDF-аннотации
Аннотации живут внутри самого PDF-файла как часть массива аннотаций страницы. Это происходит, когда вы выделяете текст и просто сохраняете PDF.
- Плюсы: Самодостаточны — один файл содержит всё.
- Минусы: Повторное сохранение обычно переписывает потенциально большой PDF. Совместное использование аннотаций означает передачу всего документа, а версионировать разметку неудобно.
FDF (Forms Data Format)
FDF — это более старый формат Adobe для переноса данных форм и аннотаций отдельно от PDF. Он может использовать традиционное бинарное объектное представление в стиле PDF или XML-кодирование.
- Плюсы: Меньше полного PDF; поддерживает экспорт и повторный импорт в Acrobat.
- Минусы: Традиционный бинарный вариант неудобен для чтения, плохо сравнивается в git и требует специализированных парсеров; XML FDF читаем, но поддерживается хуже XFDF.
XFDF (XML Forms Data Format)
XFDF — XML-преемник FDF. Та же модель данных, но кодирована как XML.
- Плюсы: Удобен для чтения людьми, чисто сравнивается в git, обрабатывается стандартными XML-библиотеками и поддерживается многими современными PDF-инструментами.
- Минусы: XML-разметка обычно больше компактного бинарного FDF, хотя файл чаще всего остаётся небольшим.
Быстрое сравнение
| Свойство | Встроенный PDF | FDF | XFDF |
|---|---|---|---|
| Кодировка | Бинарная | Бинарная или XML | XML (чистый текст) |
| Удобен для чтения людьми | Нет | Только XML FDF | Да |
| Чистый diff в git | Нет | Только XML FDF | Да |
| Содержит данные аннотаций | Да | Да | Да |
| Содержит содержимое страниц | Да | Нет | Нет |
| Размер файла | Обычно большой | Обычно небольшой | Обычно небольшой |
| Обратный путь с Acrobat | Да | Да | Да |
| Поддерживается pdfannotations.com | Да | Только XML FDF | Да |
Для многих современных рабочих процессов XFDF — удобный выбор. Adobe рекомендует его для новых проектов, а текстовую структуру можно проверить вручную.
Зачем использовать XFDF вместо встроенных аннотаций?
Есть несколько сценариев, когда экспорт XFDF предпочтительнее оставления аннотаций встроенными в PDF:
- Совместное использование аннотаций без совместного использования документа. Вы можете отправить коллеге файл XFDF размером 5 KB вместо PDF на 50 MB. Он применяет его к своей собственной копии PDF в Acrobat.
- Версионирование аннотаций. Поскольку XFDF — чистый текст, вы можете закоммитить его в git вместе с PDF и точно отследить, какие выделения были добавлены и когда.
- Конвертация аннотаций в другие форматы. XFDF — простейший ввод для инструментов вроде pdfannotations.com — XML-структура напрямую мапится на заголовки Markdown, поля JSON и столбцы CSV.
- Несколько рецензентов. Каждый рецензент может экспортировать свой собственный XFDF из того же исходного PDF, и вы можете объединить их позже, не перезаписывая аннотации друг друга.
- Долгосрочное архивирование. XFDF не привязан к одному PDF-ридеру: пока доступны XML-парсеры, данные остаются доступными для обработки.
Как открыть файл XFDF
Поскольку XFDF — чистый XML, у вас есть множество вариантов открытия:
Открыть в текстовом редакторе
Любой текстовый редактор — VS Code, Sublime Text, Notepad, BBEdit, Vim — может открыть файл XFDF. Это самый быстрый способ проверить содержимое без установки чего-либо. XML-структура самодокументируема, как только вы узнаете имена элементов (показаны выше).
Открыть в браузере
Перетащите файл .xfdf на любой современный браузер. Браузеры рендерят XML со сворачиваемыми узлами, что является полезным способом быстро перемещаться по большому набору аннотаций.
Повторный импорт в Adobe Acrobat
В Acrobat выберите File → Import → Data (или Comments → Import Comments), выберите ваш файл XFDF, и Acrobat заново прикрепит аннотации к соответствующему PDF. PDF должен быть тем же документом (или его копией), чтобы аннотации легли в правильные позиции.
Импортировать в pdfannotations.com
Перетащите файл XFDF в наш конвертер XFDF-аннотаций. Парсер выполняется в браузере — файл не загружается на сервер — и показывает поддерживаемые аннотации в рабочем пространстве с сортировкой и фильтрами. Markdown, CSV и обычный текст доступны бесплатно; Obsidian, Notion, JSON и другие расширенные форматы — в Pro.
Парсить кодом
Поскольку XFDF — это XML, парсинг на любом языке программирования занимает всего несколько строк. Например, на Python:
import xml.etree.ElementTree as ET
tree = ET.parse('annotations.xfdf')
root = tree.getroot()
ns = {'xfdf': 'http://ns.adobe.com/xfdf/'}
for annot in root.findall('.//xfdf:annots/*', ns):
page = annot.get('page')
color = annot.get('color')
contents = annot.findtext('xfdf:contents', default='', namespaces=ns)
print(f"Page {page} [{color}]: {contents}")
Этот фрагмент печатает каждую аннотацию в файле менее чем в 20 строках. Та же логика применима в JavaScript, Go, Rust, Java или любом языке с XML-библиотекой.
Как конвертировать файл XFDF
Получив файл XFDF, вы обычно хотите конвертировать его в более полезный формат. Варианты конвертации, доступные в pdfannotations.com:
- Markdown (Free) — универсальный, портативный формат для Markdown-редакторов
- Obsidian (Pro) — Markdown с Callouts, YAML Frontmatter и
[[Page References]] - Notion (Pro) — структурированные строки для базы данных Notion
- CSV (Free) — для таблиц и сводного анализа
- JSON (Pro) — для программных пайплайнов
- Text (Free) — обычный текст для вставки в email или чат
- Excel (Pro) — файл
.xlsxсо структурированными столбцами - ZIP (Pro) — объединяет несколько форматов сразу
- AI Context Markdown (Pro) — структурирован для вставки в ChatGPT, Claude или Gemini
- RAG JSON (Pro) — схема для embedding и загрузки в векторную базу данных
Пошаговые инструкции по извлечению XFDF из Adobe Acrobat в первую очередь см. в нашем руководстве по экспорту XFDF-аннотаций.
Размер и ограничения файлов XFDF
Файлы XFDF часто небольшие: статья с сотнями выделений обычно занимает десятки килобайт. Размер зависит от количества аннотаций, длины комментариев и метаданных, поэтому его стоит проверять для очень плотно размеченных документов.
PDFAnnotations поддерживает до 10 000 аннотаций на файл. Время обработки зависит от размера файла, количества записей и доступной памяти браузера.
Распространённые мифы о XFDF
«XFDF работает только с Adobe Acrobat»
XFDF — это открытая XML-схема, опубликованная Adobe, но её поддержка зависит от приложения. Foxit, PDF-XChange, Nitro и другие ридеры могут работать с XFDF; совместимость конкретных типов аннотаций лучше проверять на своих файлах.
«XFDF устарел»
Неверно. XFDF остаётся рекомендованным форматом обмена для PDF-аннотаций. Устаревшим можно считать традиционный бинарный FDF. Чтобы прочитать XML FDF, используйте конвертер FDF-аннотаций; для XFDF — конвертер XFDF-аннотаций.
«XFDF не может переносить данные форм»
Неверно. XFDF переносит и данные форм, и данные аннотаций. Элемент <fields> хранит значения полей форм; элемент <annots> хранит аннотации. Большинство экспортов XFDF из Acrobat фокусируются на стороне аннотаций, но формат поддерживает оба.
«XFDF теряет информацию о цвете»
Атрибут color может хранить RGB-значение как шестнадцатеричную строку. Acrobat обычно сохраняет цвета стандартных аннотаций, но сторонние приложения, нестандартные цветовые пространства и отдельные типы разметки могут вести себя иначе. После обратного импорта цвета стоит проверить.
Когда следует использовать XFDF?
XFDF — правильный выбор, когда вам нужно любое из следующего:
- Портативная полезная нагрузка аннотаций, которая перемещается отдельно от исходного PDF
- Удобный для чтения людьми формат, который вы можете проверять, сравнивать или редактировать вручную
- Конвертируемый ввод для инструмента вроде pdfannotations.com, который превращает аннотации в Markdown, Obsidian, JSON или CSV
- Версионируемое представление аннотаций в git
- Многорецензентный рабочий процесс, где каждый экспортирует свой собственный XFDF, а вы объединяете их позже
Если вы только читаете PDF в одном ридере и не планируете повторно использовать выделения, встроенных PDF-аннотаций обычно достаточно. Когда аннотации нужно перенести в другой инструмент, XFDF часто удобнее.
Часто задаваемые вопросы
Что означает .xfdf?
XFDF расшифровывается как XML Forms Data Format. Это XML-кодированное представление данных форм и аннотаций PDF.
XFDF — это то же самое, что FDF?
Нет. Традиционный FDF использует объектный синтаксис в стиле PDF; XFDF — XML-преемник. Acrobat также экспортирует XML FDF, но XFDF удобнее читать, он шире поддерживается и проще парсится.
Могу ли я открыть файл XFDF без Adobe Acrobat?
Да. XFDF — чистый XML, поэтому его может открыть текстовый редактор, браузер или XML-парсер. Чтобы конвертировать его в Markdown, CSV или обычный текст (Free), а также Obsidian и JSON (Pro), используйте конвертер XFDF.
XFDF сохраняет цвета выделения?
Если атрибут color записан в XFDF, доступное значение сохраняется в экспорте. Нестандартные цветовые пространства и отсутствующие метаданные могут давать значение по умолчанию.
Могу ли я редактировать файл XFDF вручную?
Да. Поскольку XFDF — чистый XML, вы можете открыть его в любом текстовом редакторе и напрямую изменить текст, цвета или номера страниц аннотаций. Просто сохраните файл как обычный текст с расширением .xfdf.
Связанные руководства
Хотите узнать больше? Ознакомьтесь с этими связанными руководствами:
- Как экспортировать XFDF-аннотации из Adobe Acrobat - Пошаговые инструкции по извлечению файла XFDF из Acrobat в конвертер
- XFDF в Obsidian: конвертируйте PDF-аннотации Adobe в Markdown - Превратите экспорты XFDF в связанные, помеченные заметки Obsidian с Callouts и Frontmatter
- PDF-аннотации в ИИ и RAG - Загрузите экспортированные в XFDF аннотации в ChatGPT, Claude, Gemini или векторную базу данных
- Экспорт выделений PDF в Obsidian: полное руководство по рабочему процессу - Полный рабочий процесс Obsidian для поддерживаемых источников PDF
- PDF-аннотации в Markdown: лучшие практики - Чистые шаблоны экспорта для Obsidian, Notion и других инструментов
Попробуйте наш бесплатный инструмент
Извлекайте аннотации из PDF в браузере. Базовый экспорт бесплатен и не требует регистрации.
Извлечь аннотации PDF →