Intercambio nativo de anotaciones FDF
El intercambio de anotaciones FDF binario preserva los grafos de objetos PDF en lugar de mapear cada anotación a un vocabulario XML fijo
Use ExportAnnotationsFDF para producir bytes FDF y SaveAnnotationsFDFToFile para preparar una revisión incremental de PDF independiente
Grafos y recursos de appearance
El grafo retiene nombres, tokens numéricos exactos, bytes de cadenas literales y hexadecimales, arrays, diccionarios, referencias indirectas y bytes de streams
Los estados de appearance de las anotaciones, las selecciones AS, las fuentes e imágenes compartidas y los streams RO de Redact retienen su topología de referencias compartidas; los números de objeto de salida y la serialización pueden cambiar
Las longitudes de stream se regeneran a partir de los bytes retenidos al codificar; las longitudes de origen indirectas se resuelven durante la decodificación y se comprueban antes de la publicación
Los arrays de destinos GoTo locales explícitos en A, los eventos AA admitidos y las cadenas Next se remapean en su contexto de acción real a los objetos de página del documento de destino; un diccionario en otra parte de un grafo de recursos no se trata como una acción solo porque sus claves se parezcan
El intercambio preserva los datos de acción sin ejecutar scripts, seguir referencias a archivos externos, navegar a destinos ni aplicar redactions
Comportamiento de importación
Los valores Page de FDF son índices de página de base cero y deben identificar páginas del documento cargado
Un NM no vacío coincidente en la misma página identifica una anotación existente para reemplazar; una anotación sin nombre o sin coincidencia se añade, y los nombres ambiguos fallan antes de la publicación
Las importaciones de anotaciones semánticamente sin cambios devuelven cero; la publicación exacta sin cambios y la recuperación vía callback forman parte del contrato de aceptación
El método de guardado nativo deja el documento cargado sin cambios tanto tras el éxito como tras el fallo; cargue el PDF guardado para adoptar su nueva revisión
Permisos y límites
La exportación requiere permiso de extracción, mientras que los cambios reales de anotaciones requieren permiso de anotación y admisión autenticada de la política de firma
La certificación P1 y P2 impiden cambios de anotaciones; las revisiones P3 permitidas preservan los bytes firmados originales, con los permisos de entrada cifrada y las políticas de bloqueo de campos evaluados contra el documento real
THPDFFDFOptions acota bytes, nodos, objetos, profundidad, número de anotaciones y almacenamiento de trabajo de forma independiente, con cancelación cooperativa durante parsing, preparación y salida
Un guardado fallido o cancelado preserva el archivo de destino y el grafo cargado; los clientes callback también retienen su último documento confirmado cuando la salida o la publicación del resultado falla
Fronteras
Link, Movie, Widget, PrinterMark, Screen y TrapNet quedan excluidos del perfil estándar de Annots FDF
Las importaciones de solo anotaciones rechazan Fields no vacíos y Differences de documentos incrustados en lugar de descartar silenciosamente sus efectos
La sintaxis arbitraria de contenedores de appearance XFDF, el borrado de anotaciones, el procesamiento de archivos FDF incrustados y la aplicación de revisiones de documentos incrustadas siguen siendo trabajo separado
El transporte de appearances preserva los recursos AP suministrados; no sintetiza una appearance faltante ni ejecuta la acción de una anotación
Vea el intercambio XFDF mapeado para el perfil XML y THPDFFDFAnnotationGraph para la API de grafo independiente
Eliminación explícita de anotaciones
La eliminación de anotaciones por página y nombre es una operación separada; omitir una anotación del FDF o XFDF importado no la elimina
El borrado del árbol de campos de widgets y el borrado seguro requieren operaciones separadas; la eliminación incremental retiene los bytes PDF anteriores