Eliminación nativa de anotaciones
Elimina anotaciones de página existentes por su índice de página base cero y su valor NM Unicode exacto, reteniendo 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 contra el texto mostrado
El mismo nombre en páginas distintas identifica anotaciones distintas; un nombre ausente en la página seleccionada es un no-op
Eliminar una anotación también elimina su popup y las respuestas que dependen de ella, incluidas respuestas anidadas y dependencias de popup; un conjunto de visitados hace finitos los ciclos de dependencia, y cada anotación eliminada contribuye una vez al conteo 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 múltiples entradas del arreglo de páginas causan falla antes de publicar
Publicación y seguridad
El método nativo deja el documento cargado sin cambios en éxito y en falla; 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 actual de la fuente; repetir la misma eliminación sobre el documento resultante devuelve cero y retiene sus bytes
Una revisión incremental elimina anotaciones del grafo de páginas actual mientras retiene bytes y revisiones anteriores; esta operación no es borrado seguro ni redacción, y el contenido eliminado puede quedar recuperable desde el historial del archivo
Permisos y límites de recursos
Las eliminaciones reales requieren permiso autenticado de anotaciones para entrada cifrada y admisión de política de firmas para entrada firmada; abrir con éxito un PDF cifrado no otorga por sí mismo 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 binding de certificados aplicadas al documento real
Configure explícitamente la confianza de certificados requerida, los timestamps y la política de revocación cuando esas verificaciones formen parte de los requisitos de seguridad de su aplicación
Las opciones de eliminación acotan conteo de anotaciones, trabajo de la operación, almacenamiento de nombres y memoria de trabajo, con cancelación cooperativa compartida con el documento o la transacción
Límite actual
Un Widget seleccionado, o un Widget alcanzado por 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 desvincula silenciosamente sus widgets
La operación no ejecuta acciones ni scripts de anotaciones y no interpreta la eliminación como aplicación de una anotación Redact
Vea las operaciones JSON y callback para annotations.remove, IO de entrada explícita y las etapas separadas de commit de PDF, resultado y contexto