Interchange de formulários na C ABI nativa do Linux
Use o entry point versionado existente hpdf_document_execute_json_v1 e o record hpdf_operation_v1 para exportar ou importar valores escalares e rich delimitados de AcroForms como FDF ou XFDF
A versão da ABI, os símbolos exportados e o layout dos records de callbacks permanecem inalterados
| Operação | InputIO | OutputIO | ResultIO |
|---|---|---|---|
forms.export | Entrada PDF opcional; caso contrário, use o documento carregado | Bytes reais de FDF ou XFDF | JSON com formato, media type, contagem de campos e contagem de bytes de saída |
forms.import | Bytes FDF ou XFDF obrigatórios; o PDF de destino já precisa estar carregado | Bytes PDF atualizados preparados | JSON com formato, media type, contagem de campos e contagem de campos alterados |
Ambas as operações exigem format 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}
Os valores suportados incluem campos de texto Unicode aninhados, estados de export de checkboxes e radios, choices escalares e choices múltiplas; XFDF UTF-8 e UTF-16 com BOM são aceitos
FDF RV e XFDF value-richtext usam o perfil rich inline-xhtml-v1, com programas reais de fontes regular, bold, italic e bold-italic selecionados por fontFamily
Campos de assinaturas e pushbuttons são representados pelos nomes deles, sem valores importados, preservando assinaturas preenchidas e o comportamento existente de botões
O import regenera aparências genuínas e preserva criptografia autenticada AES R5/R6, campos read-only, permissões DocMDP e locks FieldMDP
O signaturePolicy opcional aceita requireCAdES, requireTimestamp, requireTimestampRevocation, configurações existentes de arquivo 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 embutidos, incluindo os de um document timestamp RFC 3161; bytes de status fornecidos externamente não podem substituir um atributo obrigatório ausente
O formDataLimits opcional contém configurações de inteiros positivos maxBytes, maxFields, maxObjects, maxDepth, maxValues, maxValueCodeUnits e maxTotalCodeUnits, delimitados 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 interchange esgotado retorna HPDF_STATUS_BUDGET_EXCEEDED
Callbacks executam sincronamente na thread chamadora e podem retornar leituras ou gravações parciais; o cancelamento é observado ao ler a entrada de formulários, parsear, preparar aparências e publicar o resultado
O handle do destino carregado commita somente depois que os callbacks de PDF atualizado e de resultado JSON tiverem sucesso; erros de callbacks ou cancelamento preservam seu estado anterior, enquanto bytes já aceitos por um sink de posse do chamador permanecem responsabilidade do chamador
Operações XFDF de anotações usam um perfil separado de append com referências popup/reply e streams embutidos de arquivos ou sons
Layout CSS arbitrário, arquivos FDF embutidos, actions arbitrárias e interchange incremental de revisões FDF ficam fora do perfil de form data
C ABI nativa do Linux · Opções de assinatura e confiança · Transação nativa de import