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