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