Procesamiento interactivo de documentos
HotPDF proporciona flujos de trabajo acotados y sin ejecución de código para field scripts cargados, payloads RichMedia, data binding XFA, FormCalc e intercambio de anotaciones XFDF
Cálculo y validación seguros
EvaluateLoadedFieldJavaScript lee una acción de campo para el trigger solicitado y evalúa solo el subconjunto seguro documentado
AFSimple_Calculateagrega campos nombradosAFRange_Validateaplica límites inclusivos o exclusivosevent.value,this.getField(...).value, literales tipados, indexación de arreglos, aritmética, operadores unarios, de comparación, de igualdad, lógicos de corto circuito y condicionales forman expresiones acotadas- Conversiones de la allowlist, funciones seleccionadas de
Math, fechas UTC deterministas y métodos acotados de strings y arreglos cubren la lógica común de formularios sin un script engine - Las funciones, los members, los statements y las construcciones de scripting activo no soportados fallan de forma cerrada (fail closed)
Inspección y sanitización de RichMedia
GetLoadedRichMediaAssetCount, GetLoadedRichMediaAssetInfo y ExtractLoadedRichMediaAsset recorren un árbol de nombres de assets RichMedia acotado y exponen los bytes embebidos decodificados
SanitiseLoadedRichMediaAnnotations elimina las anotaciones RichMedia y recolecta sus objetos FileSpec y EmbeddedFile que quedan inalcanzables, para una reescritura completa segura sin eliminar contenido activo no relacionado
XFA SOM y FormCalc
El aplanado de XFA acepta instancias indexadas, instancias wildcard, class selectors, descendant selectors y las raíces $record, $data o !data preservando el orden del documento
El subconjunto acotado de FormCalc soporta agregados mixtos de escalares y node-sets SOM, llamadas numéricas y de strings anidadas, helpers deterministas de selección y conversión, funciones trigonométricas y logarítmicas, y los límites documentados de operaciones, arreglos, profundidad, tiempo transcurrido y salida
Round trips de anotaciones XFDF
La importación y la exportación de XFDF usan un mapeo compartido para las anotaciones Text, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, StrikeOut, Squiggly, Stamp, Ink, Caret, FileAttachment, Sound, Redact y Link
Los diccionarios popup permanecen como hijos de su anotación de markup propietaria, mientras que los datos Widget y RichMedia usan sus flujos de trabajo dedicados de formularios y medios