Troca nativa de anotações FDF
A troca binária de anotações FDF preserva grafos de objetos PDF em vez de mapear cada anotação para um vocabulário XML fixo
Use ExportAnnotationsFDF para produzir bytes FDF e SaveAnnotationsFDFToFile para preparar uma revisão incremental independente de PDF
Grafos e recursos de appearance
O grafo retém nomes, tokens numéricos exatos, bytes de strings literais e hexadecimais, arrays, dicionários, referências indiretas e bytes de streams
Estados de appearance de anotações, seleções AS, fonts e imagens compartilhadas e streams RO de Redact retêm sua topologia de referências compartilhadas; números de objetos da saída e a serialização podem mudar
Comprimentos de streams são regenerados dos bytes retidos ao codificar; comprimentos indiretos da origem são resolvidos durante a decodificação e checados antes da publicação
Arrays de destinos GoTo locais explícitos em A, eventos AA admitidos e cadeias Next são remapeados no contexto real de actions para os objetos de página do documento de destino; um dicionário em outro lugar de um grafo de recursos não é tratado como action só porque suas keys se parecem com uma
O interchange preserva dados de actions sem executar scripts, seguir referências a arquivos externos, navegar destinos nem aplicar redactions
Comportamento de import
Valores FDF Page são índices de página de base zero e precisam identificar páginas no documento carregado
Um NM não vazio correspondente na mesma página identifica uma anotação existente para substituição; uma anotação sem nome ou sem correspondência é anexada, e nomes ambíguos falham antes da publicação
Imports de anotações semanticamente inalterados retornam zero; publicação no-op exata e recuperação de callbacks fazem parte do contrato de aceitação
O método nativo de save deixa o documento carregado inalterado após sucesso e após falha; carregue o PDF salvo para adotar a revisão nova dele
Permissões e limites
Export exige permissão de extração, enquanto mudanças reais de anotações exigem permissão de anotações e admissão autenticada da política de assinatura
Certificação P1 e P2 impedem mudanças de anotações; revisões P3 permitidas preservam os bytes originais assinados, com permissões de entrada criptografada e políticas de field-lock avaliadas contra o documento real
THPDFFDFOptions delimita bytes, nós, objetos, profundidade, contagem de anotações e armazenamento de trabalho de forma independente, com cancelamento cooperativo durante parsing, preparação e saída
Um save com falha ou cancelado preserva o arquivo de destino e o grafo carregado; clientes de callback também retêm seu último documento commitado quando a publicação de saída ou de resultado falha
Fronteiras
Link, Movie, Widget, PrinterMark, Screen e TrapNet ficam de fora do perfil padrão FDF Annots
Imports apenas de anotações rejeitam Fields não vazios e Differences de documentos embutidos em vez de descartar silenciosamente seus efeitos
Sintaxe arbitrária de containers de appearance XFDF, remoção de anotações, processamento de arquivos FDF embutidos e aplicação de revisões de documentos embutidos continuam trabalho separado
O transporte de appearances preserva recursos AP fornecidos; ele não sintetiza uma appearance faltante nem executa a action de uma anotação
Veja troca XFDF mapeada para o perfil XML e THPDFFDFAnnotationGraph para a API standalone de grafo
Remoção explícita de anotações
Remoção de anotações por página e nome é uma operação separada; omitir uma anotação do FDF ou XFDF importado não a apaga
Exclusão de field-tree de Widgets e apagamento seguro exigem operações separadas; remoção incremental retém bytes anteriores do PDF