Eliminación nativa de anotaciones
Elimina anotaciones de página existentes por su índice de página de base cero y su valor NM Unicode exacto, conservando la revisión PDF original y preparando una salida incremental separada
El punto de entrada nativo es THPDFHeadlessDocument.SaveAnnotationRemovalsToFile; los documentos Windows ordinarios usan THPDFWindowsFormDataTransaction.RemoveAnnotations
Identidad y dependencias
Cada identidad contiene un índice de página válido y un nombre no vacío; la coincidencia distingue mayúsculas tras decodificar la cadena de texto PDF, sin normalización Unicode ni comparación con el texto mostrado
El mismo nombre en páginas distintas identifica anotaciones distintas; un nombre ausente en la página seleccionada es una operación sin efecto
Eliminar una anotación también elimina su popup y las respuestas que dependen de ella, incluidas respuestas anidadas y dependencias de popups; un conjunto de visitados mantiene los ciclos de dependencias finitos, y cada anotación eliminada cuenta una vez en el total devuelto
Eliminar solo un popup retiene a su propietario y limpia la entrada Popup del propietario; las anotaciones no relacionadas conservan su orden y datos originales
Identidades solicitadas duplicadas, un nombre solicitado ambiguo en una página o un diccionario de anotación compartido por varias entradas del array de páginas provocan fallo antes de la publicación
Publicación y seguridad
El método nativo deja el documento cargado sin cambios en éxito y en fallo; cargue el PDF resultante para adoptar la eliminación
La publicación usa un archivo preparado y reemplazo atómico del destino; una preparación fallida o cancelada preserva el destino existente, y el destino no debe ser un alias de la fuente cargada
Cero eliminaciones publica una copia exacta de la revisión de origen actual; repetir la misma eliminación contra el documento resultante devuelve cero y retiene sus bytes
Una revisión incremental elimina anotaciones del grafo de páginas actual conservando bytes y revisiones anteriores; esta operación no es borrado seguro ni redaction, y el contenido eliminado puede seguir siendo recuperable del historial del archivo
Permisos y límites de recursos
Las eliminaciones reales requieren permiso de anotación autenticado para entrada cifrada y admisión de política de firma para entrada firmada; abrir con éxito un PDF cifrado no concede por sí solo permiso para cambiar anotaciones
La certificación autenticada P1 y P2 rechaza cambios de anotaciones; una actualización P3 permitida preserva los bytes firmados originales, con verificaciones de integridad de firma y de vinculación de certificados aplicadas al documento real
Configure explícitamente la confianza de certificados, las marcas de tiempo y la política de revocación requeridas cuando esas comprobaciones formen parte de los requisitos de seguridad de la aplicación
Las opciones de eliminación acotan el número de anotaciones, el trabajo de operación, el almacenamiento de nombres y la memoria de trabajo, con cancelación cooperativa compartida con el documento o la transacción
Frontera actual
Un Widget seleccionado, o alcanzado mediante dependencias de eliminación, se rechaza porque eliminar campos de formulario requiere una transacción del árbol de campos AcroForm; esta API no borra campos ni desconecta silenciosamente sus widgets
La operación no ejecuta acciones ni scripts de anotaciones, y no interpreta la eliminación como la aplicación de una anotación Redact
Vea las operaciones JSON y callback para annotations.remove, la IO de entrada explícita y las etapas separadas de commit de PDF, resultado y contexto