Transport standard de aparências de stamps XFDF
Anotações Stamp podem exportar e importar as streams reais de aparências PDF e os dicionários de recursos delas através do elemento appearance do XFDF Adobe
O perfil stamp-typed-xml-v1 usa XML tipado UTF-8 codificado em base64, conforme descrito pela especificação Adobe XFDF 3; o payload descodificado representa objetos PDF em vez de um ficheiro PDF ou FDF completo
Recursos mapeados
O DICT KEY="AP" de topo contém uma stream de Form normal N obrigatória e streams opcionais de rollover R e de down D
Forms mantêm o BBox finito de quatro números, o Matrix opcional de seis números e o grafo suportado de recursos deles, incluindo tipos de letra e os programas incorporados deles, imagens e soft masks, espaços de cor, padrões, shadings, funções e estados de gráficos
Valores tipados incluem DICT, STREAM, ARRAY, INT, FIXED, NAME, BOOL e NULL; chaves de dicionários e valores de names preservam os PDF names semânticos deles, e tokens válidos de números fonte preservam a precisão decimal
O DATA de streams suporta MODE="RAW" ou MODE="FILTERED" com ENCODING="HEX" ou ENCODING="ASCII" de sete bits; RAW mantém os bytes codificados e o Filter/DecodeParms deles, enquanto FILTERED instala bytes descodificados sem metadados obsoletos de filtragem
A exportação usa dados hexadecimais RAW e regenera o Length de streams a partir de bytes reais; streams encriptadas autenticadas são descodificadas ou desencriptadas antes da troca e encriptadas corretamente na revisão guardada
Recursos partilhados acíclicos são expandidos como valores equivalentes e importados com referências independentes de objetos; este perfil não preserva a identidade de referências
Bytes de programas de tipos de letra incorporados e as flags de embedding deles são preservados sem alterar bits de licenças nem substituir por um programa de tipo de letra diferente
APIs e callbacks
Use HPDFExportHeadlessAnnotationsXFDF e SaveAnnotationsXFDFToFile para transações nativas, ou as sobrecargas delimitadas de HPDFXFDFExportAnnotations e HPDFXFDFImportAnnotations para adaptadores próprios de grafos de quem chama
Os trabalhos de ficheiros e callbacks V1 existentes de Windows e os callbacks V1 de Linux usam as operações existentes deles de anotações e os layouts de registos delas
As capacidades mantêm appearanceImport=false para aparências gerais de anotações e acrescentam stampAppearanceImport=true, appearanceProfile="stamp-typed-xml-v1", appearanceTypes=["stamp"], appearanceDataModes=["RAW","FILTERED"], appearanceEncodings=["ASCII","HEX"] e appearanceResources="acyclic-expanded-graph"
Transações e limites
XML de entrada, base64, names, encoding de streams, tipos de recursos, chaves semânticas de dicionários e geometria de Forms são validados antes da publicação; dados malformados, ciclos, limites cumulativos esgotados ou cancelamento fazem falhar a transação completa
Os limites XFDF cobrem entrada/saída totais, nós de XML e de grafos, profundidade, armazenamento de streams e reservas de trabalho ao longo da operação de anotações
A importação mantém o estado atual do grafo não guardado, a segurança AES R5/R6 e as restrições autenticadas de certificação; P1/P2 negam alterações de anotações e P3 preserva o prefixo original assinado e a integridade genuína de assinaturas
Uma importação vazia autorizada devolve zero e preserva os bytes PDF atuais exatos quando não há alterações não guardadas; alterações dirty do grafo são guardadas sem serem descartadas
Contextos de callbacks de Windows e de Linux adotam um PDF preparado apenas depois da saída PDF, da saída de resultados JSON e da verificação final de cancelamento terem sucesso; callbacks falhados ou parciais retêm o contexto anterior, e o primeiro escritor falhado permanece persistente
Importação apenas de anotações aceita contentores fields vazios e declarações de campos sem valores como metadados no-op; valores reais de formulários e atualizações rich de campos exigem a operação separada autenticada de dados de formulários
Trabalho restante
Transport geral de APs de anotações, dicionários de estados de aparências, valores de recursos de strings, referências DEFINE/REF não vazias, grafos cíclicos, Redact overlayappearance, substituição/remoção de anotações e intercâmbio de anotações FDF continuam a ser trabalho separado
Anotações geométricas e de texto sem uma aparência de stamp transportada mantêm o comportamento existente delas; esta operação não sintetiza aparências arbitrárias de anotações nem executa ações
O adaptador partilhado delimitado reserva chaves brutas de anotações e grafos AP expandidos antes da conversão de payloads, e reserva whitespace base64 e DATA descodificado antes de alocar essas representações; a conversão de PDF names usa passagens lineares com checkpoints de cancelamento