Транспорт внешних видов штампов XFDF стандарта

Аннотации-штампы могут экспортировать и импортировать свои фактические потоки внешних видов PDF и словари ресурсов через элемент appearance Adobe XFDF

Профиль stamp-typed-xml-v1 использует типизированный XML UTF-8 в кодировке base64, как описано в спецификации Adobe XFDF 3; декодированный payload представляет объекты PDF, а не полный файл PDF или FDF

Отображаемые ресурсы

Верхнеуровневый DICT KEY="AP" содержит обязательный поток Form normal N и необязательные потоки rollover R и down D

Form-ы сохраняют свой конечный четырёхчисловой BBox, необязательную шестичисловую Matrix и поддерживаемый граф ресурсов, включая шрифты и их встроенные программы, изображения и soft mask, цветовые пространства, паттерны, шейдинги, функции и графические состояния

Типизированные значения включают DICT, STREAM, ARRAY, INT, FIXED, NAME, BOOL и NULL; ключи словарей и значения имён сохраняют свои семантические имена PDF, а валидные исходные числовые токены сохраняют десятичную точность

Потоковый DATA поддерживает MODE="RAW" или MODE="FILTERED" с ENCODING="HEX" или семибитным ENCODING="ASCII"; RAW сохраняет закодированные байты и их Filter/DecodeParms, тогда как FILTERED устанавливает декодированные байты без устаревших метаданных фильтрации

Экспорт использует шестнадцатеричные данные RAW и пересчитывает Length потока из фактических байтов; аутентифицированные зашифрованные потоки декодируются или расшифровываются перед обменом и корректно шифруются в сохранённой ревизии

Общие ациклические ресурсы разворачиваются как эквивалентные значения и импортируются с независимыми ссылками на объекты; этот профиль не сохраняет идентичность ссылок

Байты встроенных программ шрифтов и их флаги встраивания сохраняются без изменения битов лицензии или подстановки другой программы шрифта

API и колбэки

Для нативных транзакций используйте HPDFExportHeadlessAnnotationsXFDF и SaveAnnotationsXFDFToFile, а для графовых адаптеров, принадлежащих вызывающему, — ограниченные перегрузки HPDFXFDFExportAnnotations и HPDFXFDFImportAnnotations

Существующие файловые задания Windows и колбэки V1 и колбэки V1 Linux используют свои существующие операции аннотаций и раскладки записей

Capabilities сохраняют appearanceImport=false для общих внешних видов аннотаций и добавляют stampAppearanceImport=true, appearanceProfile="stamp-typed-xml-v1", appearanceTypes=["stamp"], appearanceDataModes=["RAW","FILTERED"], appearanceEncodings=["ASCII","HEX"] и appearanceResources="acyclic-expanded-graph"

Транзакции и пределы

Входной XML, base64, имена, кодирование потоков, типы ресурсов, семантические ключи словарей и геометрия Form проверяются до публикации; malformed данные, циклы, исчерпанные накопительные пределы или отмена делают сбойной всю транзакцию

Пределы XFDF покрывают общий ввод/вывод, узлы XML и графа, глубину, хранилище потоков и рабочие резервирования на протяжении операции аннотаций

Импорт сохраняет текущее несохранённое состояние графа, безопасность AES R5/R6 и аутентифицированные ограничения сертификации; P1/P2 запрещают изменения аннотаций, а P3 сохраняет исходный подписанный префикс и подлинную целостность подписи

Авторизованный пустой импорт возвращает ноль и сохраняет точные текущие байты PDF, когда нет несохранённых изменений; изменения dirty-графа сохраняются, а не отбрасываются

Колбэк-контексты Windows и Linux принимают подготовленный PDF только после успеха вывода PDF, вывода JSON-результата и финальной проверки отмены; неудавшиеся или частичные колбэки сохраняют предыдущий контекст, а первый неудавшийся writer остаётся sticky

Импорт только аннотаций принимает пустые контейнеры fields и объявления полей без значений как no-op-метаданные; фактические значения форм и rich-обновления полей требуют отдельной аутентифицированной операции данных форм

Оставшаяся работа

Общий транспорт AP аннотаций, словари состояний внешних видов, строковые значения ресурсов, непустые ссылки DEFINE/REF, циклические графы, Redact overlayappearance, замена/удаление аннотаций и обмен аннотациями FDF остаются отдельной работой

Геометрические и текстовые аннотации без транспортированного внешнего вида штампа сохраняют существующее поведение; эта операция не синтезирует произвольные внешние виды аннотаций и не выполняет действия

Общий ограниченный адаптер резервирует raw-ключи аннотаций и развёрнутые графы AP до преобразования payload, а также резервирует пробелы base64 и декодированный DATA до выделения этих представлений; преобразование имён PDF использует линейные проходы с контрольными точками отмены