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 aparências
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 aparências de anotações, seleções AS, tipos de letra e imagens partilhados e streams RO de Redact retêm a sua topologia de referências partilhadas; os números de objetos da saída e a serialização podem mudar
Os comprimentos de streams são regenerados a partir dos bytes retidos ao codificar; comprimentos indiretos da fonte são resolvidos durante a descodificação e verificados 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 ações para os objetos de páginas do documento de destino; um dicionário noutro lugar de um grafo de recursos não é tratado como ação só porque as suas keys se parecem com uma
O interchange preserva dados de ações sem executar scripts, seguir referências a ficheiros externos, navegar destinos nem aplicar redactions
Comportamento de importação
Valores FDF Page são índices de páginas de base zero e têm de 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 é acrescentada, e nomes ambíguos falham antes da publicação
Importações de anotações semanticamente inalteradas devolvem zero; publicação no-op exata e recuperação de callbacks fazem parte do contrato de aceitação
O método nativo de gravação deixa o documento carregado inalterado após sucesso e após falha; carregue o PDF guardado para adotar a revisão nova dele
Permissões e limites
A exportação exige permissão de extração, enquanto alterações 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 alterações de anotações; revisões P3 permitidas preservam os bytes originais assinados, com permissões de entrada cifrada e políticas de bloqueio de campos avaliadas contra o documento real
THPDFFDFOptions delimita de forma independente bytes, nós, objetos, profundidade, contagem de anotações e armazenamento de trabalho, com cancelamento cooperativo durante parsing, preparação e saída
Uma gravação falhada ou cancelada preserva o ficheiro de destino e o grafo carregado; clientes de callbacks também retêm o seu último documento comprometido quando a publicação de saída ou de resultado falha
Fronteiras
Link, Movie, Widget, PrinterMark, Screen e TrapNet ficam de fora do perfil standard FDF Annots
Importações apenas de anotações rejeitam Fields não vazios e Differences de documentos incorporados em vez de descartar silenciosamente os seus efeitos
Sintaxe arbitrária de contentores de aparências XFDF, remoção de anotações, processamento de ficheiros FDF incorporados e aplicação de revisões de documentos incorporados continuam a ser trabalho separado
O transport de aparências preserva recursos AP fornecidos; não sintetiza uma aparência em falta nem executa a ação de uma anotação
Veja troca XFDF mapeada para o perfil XML e THPDFFDFAnnotationGraph para a API standalone de grafos
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
Eliminação de field-trees de Widgets e apagamento seguro exigem operações separadas; a remoção incremental retém bytes anteriores do PDF