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