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