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