Нативный обмен аннотациями FDF
Бинарный обмен аннотациями FDF сохраняет графы объектов PDF, а не отображает каждую аннотацию в фиксированный XML-словарь
Используйте ExportAnnotationsFDF для получения байтов FDF и SaveAnnotationsFDFToFile для подготовки независимой инкрементальной ревизии PDF
Графы и ресурсы внешних видов
Граф сохраняет имена, точные числовые токены, байты литеральных и шестнадцатеричных строк, массивы, словари, косвенные ссылки и байты потоков
Состояния внешних видов аннотаций, выборки AS, общие шрифты и изображения, а также RO-потоки Redact сохраняют свою топологию общих ссылок; номера выходных объектов и сериализация могут меняться
Длины потоков при кодировании заново вычисляются из сохранённых байтов; косвенные исходные длины разрешаются при декодировании и проверяются до публикации
Явные локальные массивы назначений GoTo в A, допущенные события AA и цепочки Next перемаппятся в их фактическом контексте действия в объекты страниц целевого документа; словарь в другом месте графа ресурсов не считается действием лишь потому, что его ключи похожи на действие
Обмен сохраняет данные действий без выполнения скриптов, следования внешним ссылкам на файлы, навигации по назначениям или применения редактирующих удалений
Поведение импорта
Значения FDF Page — это индексы страниц с нуля и должны указывать на страницы загруженного документа
Совпадающий непустой NM на той же странице указывает существующую аннотацию для замещения; безымянная или несовпавшая аннотация добавляется, а неоднозначные имена дают сбой до публикации
Семантически неизменённые импорты аннотаций возвращают ноль; точная no-op-публикация и восстановление колбэков — часть контракта приёмки
Нативный метод сохранения оставляет загруженный документ неизменным и после успеха, и после сбоя; чтобы принять новую ревизию, загрузите сохранённый PDF
Разрешения и пределы
Экспорту требуется разрешение на извлечение, тогда как фактическим изменениям аннотаций нужны разрешение на аннотации и аутентифицированный допуск политики подписей
Сертификация P1 и P2 предотвращает изменения аннотаций; допустимые ревизии P3 сохраняют исходные подписанные байты, причём разрешения зашифрованного входа и политики блокировки полей оцениваются по фактическому документу
THPDFFDFOptions независимо ограничивает байты, узлы, объекты, глубину, число аннотаций и рабочее хранилище, с кооперативной отменой на протяжении разбора, подготовки и вывода
Неудавшееся или отменённое сохранение сохраняет файл назначения и загруженный граф; клиенты колбэков также сохраняют свой последний зафиксированный документ при сбое публикации вывода или результата
Границы
Link, Movie, Widget, PrinterMark, Screen и TrapNet исключены из стандартного профиля FDF Annots
Импорты только аннотаций отклоняют непустые Fields и Differences встроенных документов вместо молчаливого отбрасывания их эффектов
Произвольный синтаксис контейнеров внешних видов XFDF, удаление аннотаций, обработка встроенных файлов FDF и применение ревизий встроенных документов остаются отдельной работой
Транспорт внешних видов сохраняет предоставленные ресурсы AP; он не синтезирует отсутствующий внешний вид и не выполняет действие аннотации
XML-профиль см. в отображаемом обмене XFDF, а автономный графовый API — в THPDFFDFAnnotationGraph
Явное удаление аннотаций
Удаление аннотаций по странице и имени — отдельная операция; пропуск аннотации в импортируемом FDF или XFDF не удаляет её
Удаление дерева полей Widget и безопасное стирание требуют отдельных операций; инкрементальное удаление сохраняет предыдущие байты PDF