Интерактивная обработка документов
HotPDF предоставляет ограниченные по объёму и не выполняющие код workflows для field scripts загруженных полей, RichMedia payload, привязывания данных XFA, FormCalc и обмена аннотациями через XFDF
Безопасные вычисления и валидация
EvaluateLoadedFieldJavaScript читает действие поля для заданного триггера и вычисляет только документированное безопасное подмножество
AFSimple_Calculateагрегирует именованные поляAFRange_Validateприменяет включительные или исключающие границыevent.value,this.getField(...).value, типизированные literal, индексация массивов, арифметические, унарные операторы, сравнение, равенство, логические операторы с коротким замыканием и условные операторы образуют ограниченные выражения- Разрешённые конвертации, избранные функции
Math, детерминированные даты UTC, а также ограниченные методы строк и массивов покрывают типичную логику форм без полноценного script engine - Неподдерживаемые функции, члены, инструкции и активные scripting-конструкции не выполняются ни при каких условиях
Проверка и санитизация RichMedia
GetLoadedRichMediaAssetCount, GetLoadedRichMediaAssetInfo и ExtractLoadedRichMediaAsset обходят ограниченное дерево имён RichMedia-ассетов и открывают доступ к декодированным внедрённым байтам
SanitiseLoadedRichMediaAnnotations удаляет аннотации RichMedia и собирает их ставшие недостижимыми объекты FileSpec и EmbeddedFile, чтобы затем безопасно выполнить полную перезапись, не трогая посторонний активный контент
XFA SOM и FormCalc
При уплощении XFA принимаются индексированные экземпляры, wildcard-экземпляры, селекторы классов, descendant-селекторы, а также корни $record, $data и !data с сохранением порядка документа
Ограниченное подмножество FormCalc поддерживает смешанные агрегаты скаляров и SOM node set, вложенные числовые и строковые вызовы, детерминированные helper для выбора и конвертации, тригонометрические и логарифмические функции, а также документированные лимиты на операции, массивы, глубину, затраченное время и вывод
Round trips аннотаций XFDF
Импорт и экспорт XFDF используют единую маппинг-схему для аннотаций Text, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, StrikeOut, Squiggly, Stamp, Ink, Caret, FileAttachment, Sound, Redact и Link
Словари Popup остаются дочерними элементами своей владеющей markup-аннотации, а данные Widget и RichMedia обрабатываются их отдельными workflows для форм и медиа