Intercâmbio de formulários pela ABI C nativa de Linux
Use o ponto de entrada versionado existente hpdf_document_execute_json_v1 e o registo hpdf_operation_v1 para exportar ou importar valores escalares e rich delimitados de AcroForm como FDF ou XFDF
A versão da ABI, os símbolos exportados e o layout de registos de callbacks permanecem inalterados
| Operação | InputIO | OutputIO | ResultIO |
|---|---|---|---|
forms.export | Entrada PDF opcional; caso contrário use o documento carregado | Bytes FDF ou XFDF reais | Formato JSON, media type, contagem de campos e contagem de bytes de saída |
forms.import | Bytes FDF ou XFDF obrigatórios; o PDF de destino tem de já estar carregado | Bytes PDF atualizados preparados | Formato JSON, media type, contagem de campos e contagem de campos alterados |
Ambas as operações exigem que format seja exatamente fdf ou xfdf, com schemaVersion definido como 1
{"schemaVersion":1,"type":"forms.export","format":"xfdf"}
{"schemaVersion":1,"type":"forms.import","format":"fdf","fontFamily":"DejaVu Sans","fontSize":12}
Valores suportados incluem campos aninhados de texto Unicode, estados de exportação de checkboxes e radios, escolhas escalares e escolhas múltiplas; XFDF UTF-8 e UTF-16 marcado com BOM são aceites
FDF RV e XFDF value-richtext usam o perfil rich inline-xhtml-v1, com programas reais de tipos de letra regular, bold, italic e bold-italic selecionados por fontFamily
Campos de assinaturas e de pushbuttons são representados pelos nomes deles sem valores importados, preservando assinaturas preenchidas e o comportamento existente de botões
A importação regenera aparências genuínas e preserva encriptação autenticada AES R5/R6, campos só de leitura, permissões DocMDP e bloqueios FieldMDP
Um signaturePolicy opcional aceita requireCAdES, requireTimestamp, requireTimestampRevocation, definições existentes de ficheiros de confiança ou PEM, e revocationInfo usando o schema de opções de assinatura
A política explícita de revogação assinada verifica os atributos reais assinados das assinaturas, incluindo os de um timestamp de documentos RFC 3161; bytes de status fornecidos externamente não podem substituir um atributo obrigatório em falta
Um formDataLimits opcional contém definições de inteiros positivos de maxBytes, maxFields, maxObjects, maxDepth, maxValues, maxValueCodeUnits e maxTotalCodeUnits, delimitadas pelos defaults nativos e pela capacidade da operação
Os limits.memoryBytes, outputBytes e resultBytes existentes restringem adicionalmente a preparação e a publicação; um limite de intercâmbio esgotado devolve HPDF_STATUS_BUDGET_EXCEEDED
Os callbacks executam sincronamente na thread chamadora e podem devolver leituras ou escritas parciais; o cancelamento é observado durante a leitura da entrada de formulários, o parsing, a preparação de aparências e a publicação do resultado
O handle de destino carregado confirma apenas depois dos callbacks atualizados de PDF e de resultados JSON terem sucesso; erros de callbacks ou cancelamento preservam o estado anterior dele, enquanto bytes já aceites por um coletor próprio de quem chama continuam a ser responsabilidade dele
As operações XFDF de anotações usam um perfil separado de acrescentos com referências popup/resposta e streams incorporadas de ficheiros ou de sons
Layout CSS arbitrário, ficheiros FDF incorporados, ações arbitrárias e intercâmbio incremental de revisões FDF continuam fora do perfil de dados de formulários
ABI C nativa de Linux · Opções de assinatura e de confiança · Transação nativa de importação