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çãoInputIOOutputIOResultIO
forms.exportEntrada PDF opcional; caso contrário, use o documento carregadoBytes reais de FDF ou XFDFJSON com formato, media type, contagem de campos e contagem de bytes de saída
forms.importBytes FDF ou XFDF obrigatórios; o PDF de destino já precisa estar carregadoBytes PDF atualizados preparadosJSON 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