PDF de revisión con anotaciones nativo

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

{"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 por defecto es after

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 preparada

Puntos de entrada Pascal

HPDFSaveHeadlessContractAnnotatedPDF mapea un informe 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 y captions Unicode explícitos para otros workflows 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 apariencia Form normal con relleno amarillo y transparencia Multiply

Las anotaciones y widgets de firma existentes permanecen presentes; ningún punto de entrada muta las anotaciones ni el estado dirty del documento cargado

DocMDP P3 autenticado permite anotaciones de revisión; P1 y P2 las rechazan antes de publicar, 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 valores por defecto son 10000 resaltes y 67108864 bytes de preparación

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

El writer prepara en privado, vuelca el archivo de staging y publica mediante rename atómico; los alias del 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 el documento y sus opciones de revisión; los límites temporales del documento se restauran incluso cuando se solicita la 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 realmente visibles y ambos lados del origen mediante callbacks nativos fragmentados

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

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

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