Транспорт внешних видов штампов 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 использует линейные проходы с контрольными точками отмены