Interactive Document Processing
O HotPDF fornece fluxos de trabalho limitados e sem execução para scripts de campo carregados, cargas RichMedia, vinculação de dados XFA, FormCalc e troca de anotações XFDF
Cálculo e validação seguros
EvaluateLoadedFieldJavaScript lê a ação de um campo para o gatilho solicitado e avalia apenas o subconjunto seguro documentado
AFSimple_Calculateagrega campos nomeadosAFRange_Validateaplica limites inclusivos ou exclusivosevent.value,this.getField(...).value, literais tipados, indexação de arrays, operadores aritméticos, unários, de comparação, de igualdade, lógicos de curto-circuito e condicionais formam expressões limitadas- Conversões em allowlist, funções selecionadas de
Math, datas UTC determinísticas e métodos limitados de string e array suportam lógica comum de formulários sem uma engine de scripts - Funções, membros, statements e construções de scripting ativo não suportados falham fechados
Inspeção e saneamento de RichMedia
GetLoadedRichMediaAssetCount, GetLoadedRichMediaAssetInfo e ExtractLoadedRichMediaAsset percorrem uma name tree limitada de assets RichMedia e expõem os bytes embutidos decodificados
SanitiseLoadedRichMediaAnnotations remove anotações RichMedia e coleta seus objetos FileSpec e EmbeddedFile agora inalcançáveis para uma reescrita completa segura, sem remover conteúdo ativo não relacionado
XFA SOM e FormCalc
O achatamento de XFA aceita instâncias indexadas, instâncias curinga, seletores de classe, seletores descendentes e raízes $record, $data ou !data, preservando a ordem do documento
O subconjunto limitado de FormCalc suporta agregados mistos de escalares e node sets SOM, chamadas numéricas e de string aninhadas, helpers determinísticos de seleção e conversão, funções trigonométricas e logarítmicas, e os limites documentados de operações, arrays, profundidade, tempo decorrido e saída
Idas e voltas de anotações XFDF
A importação e a exportação XFDF usam um mapeamento único compartilhado para anotações Text, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, StrikeOut, Squiggly, Stamp, Ink, Caret, FileAttachment, Sound, Redact e Link
Dicionários popup permanecem filhos da anotação de markup à qual pertencem, enquanto dados Widget e RichMedia usam seus fluxos dedicados de formulário e mídia