Confronto di contratti nativo su Linux

hpdf_document_compare_json_v1 prende in prestito due handle di documenti caricati ed esegue il confronto semantico nativo di contratti o il confronto generale di documenti, con output preparato attraverso callback

{"schemaVersion":1,"type":"compare.contract","format":"html",
 "title":"Contract review","options":{"granularity":"word",
 "ignoreRepeatedHeadersFooters":true,"maxAlignmentCells":2000000},
 "limits":{"memoryBytes":268435456,"resultBytes":4194304,"outputBytes":8388608}}

Report semantici dei contratti

L'adattatore nativo usa lo stesso algoritmo portabile di allineamento dei paragrafi e delle differenze dell'API contratti Windows, incluse modifiche a parole o frasi, spostamenti cross-pagina, esclusione di margini ripetuti, filtri boilerplate e continuità di pagina

I report dei contratti includono comparisonComplete, identical, differenceCount, conteggi di pagine e paragrafi, esclusioni, contatori di lavoro e allineamento, più testo, contesto e locations di ogni modifica

Ogni location contiene pagina e paragrafo a base zero, un offset carattere a base uno, numero di caratteri e rettangoli user-space PDF che coprono le righe semantiche intersecanti; i rettangoli rappresentano la geometria delle righe

L'estrazione nativa dei glifi preserva risorse Form annidate e matrici, confini di pagina ereditati e permessi di estrazione per input plaintext e AES R5/R6 autenticati; le pagine senza testo estraibile riportano un fallimento di estrazione e richiedono OCR o rimozione esplicita delle pagine bianche

Opzioni e limiti

options accetta granularity (word o sentence), ignoreCase, ignoreRepeatedHeadersFooters, normalizeMarginDigits, joinPageContinuations, headerMarginPoints, footerMarginPoints, paragraphGapFactor, minimumParagraphSimilarity, minimumRepeatedPages e excludedLineTexts

I limiti espliciti a interi positivi includono maxPages, maxParagraphs, maxSemanticLines, maxCharacters, maxTokens, maxDifferences, maxAlignmentCells e maxWorkUnits; i budget di memoria e result dell'operazione limitano questi valori prima dell'esecuzione

compare accetta modalità page-count, page-text, object-count, rendered-image, structural e full con output JSON; scopri le modalità disponibili attraverso comparisonModes e i formati contratto attraverso contractFormats

format:json scrive il JSON del risultato sia alla callback binaria opzionale sia alla callback result obbligatoria; format:html richiede una callback binaria e scrive una review UTF-8 autonoma con titolo e testo del contratto con escape

format:pdf richiede callback di output binarie e crea una vera copia di review annotata di side:before o side:after, con default after; options.maxHighlights limita le righe semantiche evidenziate

Durata di vita e pubblicazione

Mantieni entrambi gli handle vivi durante la chiamata; il confronto stesso-handle è supportato e i confronti concorrenti in ordine opposto acquisiscono i lock in un ordine stabile

Tutte le callback girano sincrone sul thread chiamante; i limiti di risorse vengono applicati temporaneamente a ogni documento caricato e ripristinati dopo, inclusi i percorsi di fallimento e cancellazione

La chiamata non accetta callback di input né membri di percorsi file, e preserva entrambi i documenti sorgente e le loro revisioni; output binario e JSON vengono preparati e delimitati prima che la pubblicazione inizi

Interfaccia Pascal

HPDFCompareHeadlessContracts accetta due oggetti THPDFHeadlessDocument con le THPDFContractCompareOptions esistenti e restituisce THPDFContractCompareReport

HPDFHeadlessContractSource espone l'adattatore nativo; HPDFCompareContractSources in HPDFContractCompareCore accetta callback personalizzate delimitate di page-count, semantic-page e visible-box per il core portabile

HPDFContractCompareCore possiede l'algoritmo condiviso, i tipi di report e il renderer HTML senza dipendenze VCL o LCL; l'interfaccia Windows HPDFContractCompare esistente preserva i suoi tipi, costanti ed entry point su documenti caricati attraverso alias e adattatori

THPDFHeadlessDocument.ExtractPageGlyphs e AnalyzePageSemanticText espongono glifi posizionati e layout semantico attraverso lo stesso walker di contenuto annidato usato da ExtractPageText

Il collaudo dell'ABI nativa verifica confronti reali plaintext, AES R5/R6 e Form annidati, rollback, budget e ordine dei lock; reader indipendenti pypdf e MuPDF verificano differenze complete, contesti esatti, offset e geometria dei glifi sorgente

ABI C nativa su Linux · Confronto di contratti · Piano di consegna residuo