PDF de revisión anotado nativo

Crea resaltes de revisión visibles reales en una copia PDF nativa incremental conservando el contenido original de páginas, recursos, cifrado y rangos de bytes de firmas

{"schemaVersion":1,"type":"compare.contract","format":"pdf","side":"after","options":{"maxHighlights":1000}}

Llama a hpdf_document_compare_json_v1 con dos handles cargados, un callback de salida PDF obligatorio y un callback de resultado obligatorio; side selecciona before o after y es after por defecto

El resultado JSON contiene la comparación semántica completa, mediaType:application/pdf y el lado seleccionado; el callback binario recibe la revisión PDF real ya preparada

Puntos de entrada Pascal

HPDFSaveHeadlessContractAnnotatedPDF mapea un reporte de comparación completo a resaltes de líneas de origen, validando el recuento de páginas, el texto y la geometría de líneas posicionadas contra el documento cargado seleccionado antes de exportar

SaveReviewHighlightsToFile acepta rectángulos de página explícitos y captions Unicode para otros flujos de revisión

Salida y permisos

Cada resalte tiene una anotación Highlight real, rectángulo, cuadrilátero, contents Unicode, flag de impresión y una apariencia normal de Form con relleno amarillo y transparencia Multiply

Las anotaciones y los widgets de firma existentes permanecen; ninguno de los dos puntos de entrada muta las anotaciones del documento cargado ni su estado dirty

Un DocMDP P3 autenticado permite anotaciones de revisión; P1 y P2 las rechazan antes de la publicación, igual que los permisos autenticados de field-lock más restrictivos y los permisos de usuario cifrados sin derechos de anotación

Las revisiones de revisión P3 válidas pueden reabrirse y guardarse de nuevo; la validación preserva los widgets originales exactamente una vez y sigue protegiendo contenidos de páginas, recursos y campos firmados o bloqueados

Límites y cancelación

Inicializa THPDFHeadlessReviewOptions.Default antes de cambiar MaxHighlights, MaxWorkingBytes o CancellationToken; los defaults son 10000 resaltes y 67108864 bytes de preparación

Los límites de objetos del documento, de bytes de objeto, de bytes de archivo y de profundidad también aplican; los captions exigen UTF-16 válido sin NUL, y los rectángulos exigen coordenadas finitas acotadas y dimensiones positivas

El writer prepara en privado, hace flush del archivo de staging y publica mediante rename atómico; los alias de origen, los fallos de validación, los presupuestos agotados y la cancelación conservan un destino existente y eliminan los archivos de staging no publicados

Usa un cancellation token compartido para un documento y sus opciones de revisión; los límites temporales del documento se restauran incluso cuando se solicita cancelación

Verificación con lectores

La aceptación comprueba texto plano, Forms anidados, AES R5/R6, captions Unicode, revisiones repetidas, preservación de firmas CAdES de confianza, píxeles MuPDF visibles reales y ambos lados de origen a través de callbacks nativos fragmentados

Un lector puede seleccionar compositing transparente de página desde los recursos de anotaciones incluso con el dibujado de anotaciones deshabilitado, cambiando el antialiasing del texto; quitar solo las anotaciones de forma independiente restaura los píxeles originales exactos de la página

Los rectángulos de comparación cubren las líneas semánticas afectadas en lugar de los contornos exactos de caracteres; los heat maps de comparación general de imágenes y las comparaciones anotadas fuera del contrato siguen siendo capacidades separadas

Comportamiento y límites de revisión nativa · Comparación de contratos nativa