PDF nativo di review con annotazioni
Crea veri highlight di review visibili in una copia PDF nativa incrementale conservando contenuto delle pagine, risorse, cifratura e byte range delle firme originali
{"schemaVersion":1,"type":"compare.contract","format":"pdf","side":"after","options":{"maxHighlights":1000}}
Chiama hpdf_document_compare_json_v1 con due handle caricati, una callback di output PDF obbligatoria e una callback di risultato obbligatoria; side sceglie before o after e vale after per default
Il risultato JSON contiene il confronto semantico completo, mediaType:application/pdf e il lato selezionato; la callback binaria riceve la vera revisione PDF preparata
Entry point Pascal
HPDFSaveHeadlessContractAnnotatedPDF mappa un report di confronto completo a highlight di righe sorgente, validando conteggio pagine, testo e geometria delle righe posizionate contro il documento caricato selezionato prima dell'export
SaveReviewHighlightsToFile accetta rettangoli di pagina espliciti e caption Unicode per altri workflow di review
Output e permessi
Ogni highlight ha una vera annotazione Highlight, rettangolo, quadrilatero, contents Unicode, flag di stampa e normal appearance di Form con riempimento giallo e trasparenza Multiply
Annotazioni esistenti e widget firma restano presenti; nessuno dei due entry point muta le annotazioni o lo stato dirty del documento caricato
DocMDP P3 autenticato consente annotazioni di review; P1 e P2 le rifiutano prima della pubblicazione, come fanno permessi field-lock autenticati più restrittivi e permessi utente cifrati senza diritti di annotazione
Le revisioni di review P3 valide possono essere riaperte e salvate di nuovo; la validazione preserva i widget originali esattamente una volta e continua a proteggere contenuti delle pagine, risorse e campi firmati o bloccati
Limiti e cancellazione
Inizializza THPDFHeadlessReviewOptions.Default prima di cambiare MaxHighlights, MaxWorkingBytes o CancellationToken; i default sono 10000 highlight e 67108864 byte di preparazione
Si applicano anche i limiti di oggetti documento, byte per oggetto, byte per file e profondità; le caption richiedono UTF-16 valido senza NUL e i rettangoli coordinate finite e limitate con dimensioni positive
Il writer prepara privatamente, scarica il file di staging e pubblica con rename atomico; alias della sorgente, fallimenti di validazione, budget esauriti e cancellazione conservano una destinazione esistente e rimuovono i file di staging non pubblicati
Usa un solo cancellation token condiviso per un documento e le sue opzioni di review; i limiti temporanei del documento vengono ripristinati anche quando la cancellazione è richiesta
Verifica con i reader
La validazione controlla plaintext, Form annidati, AES R5/R6, caption Unicode, revisioni ripetute, conservazione delle firme CAdES trusted, veri pixel MuPDF visibili ed entrambi i lati sorgente tramite callback native frammentate
Un reader può selezionare compositing trasparente della pagina dalle risorse delle annotazioni anche con il disegno delle annotazioni disabilitato, cambiando l'antialiasing del testo; rimuovendo indipendentemente solo le annotazioni si ripristinano gli esatti pixel originali della pagina
I rettangoli di confronto coprono le righe semantiche interessate anziché gli outline esatti dei caratteri; heat map generali di confronto immagini e confronti annotati non-contract restano capacità separate
Comportamento e limiti della review nativa · Confronto del contratto nativo