Método THPDFHeadlessDocument.SaveAnnotationRemovalsToFile

function SaveAnnotationRemovalsToFile(const FileName: string;
  const Identities: array of THPDFHeadlessAnnotationIdentity;
  const Options: THPDFHeadlessAnnotationRemovalOptions): Integer;

Prepara eliminaciones de anotaciones de página desde la fuente cargada actual y publica atómicamente un PDF separado en FileName

Identities selecciona anotaciones por índices de página de base cero válidos y valores NM Unicode decodificados exactos; Options aporta límites de recursos positivos y cancelación compartida opcional

El valor de retorno cuenta cada anotación eliminada una vez, incluidas las dependencias de popups y respuestas; puede exceder el número de identidades solicitadas

Una solicitud vacía o identidades válidas sin coincidencia devuelven cero y publican los bytes de origen actuales exactos; identidades duplicadas, nombres seleccionados ambiguos y propietarios de anotaciones compartidos fallan

Eliminar a un propietario elimina transitivamente popups y respuestas dependientes, con manejo finito de ciclos; eliminar solo su popup limpia el enlace Popup del propietario retenido

Un Widget seleccionado o dependiente lanza hdFieldTypeUnsupported porque el borrado del árbol de campos es una transacción separada

Estado y publicación

El documento cargado permanece sin cambios tras el éxito y el fallo; recargue el PDF publicado para adoptar una revisión modificada

Una salida modificada es una revisión incremental que retiene el prefijo del archivo original; cero cambios produce una copia exacta, y esta operación no borra de forma segura las revisiones anteriores

La ruta de salida no debe ser un alias de la fuente cargada; fallo de asignación, entrada inválida, rechazo de política, agotamiento del presupuesto y cancelación preservan el destino existente

Política y diagnóstico

Los cambios reales requieren permiso de anotación del documento cifrado y admisión autenticada de la política de documentos firmados; la certificación P1/P2 rechaza los cambios, mientras que los cambios P3 admitidos retienen los rangos de bytes firmados originales

Identidades inválidas y propiedad mal formada reportan hdInvalidDocument; el agotamiento de recursos reporta hdLimitExceeded; la selección de widgets reporta hdFieldTypeUnsupported

Los fallos de seguridad, firma y cancelación conservan sus contratos de diagnóstico nativos existentes; configure los requisitos de confianza y marcas de tiempo mediante las opciones de política de firma del documento

Vea THPDFHeadlessAnnotationIdentity, THPDFHeadlessAnnotationRemovalOptions y la eliminación nativa de anotaciones