Native Linux contract comparison

hpdf_document_compare_json_v1 leent twee geladen document-handles en draait native semantische contractvergelijking of algemene documentvergelijking, met voorbereide uitvoer via callbacks

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

Semantische contractrapporten

De native adapter gebruikt dezelfde portable paragraaf-alignment- en difference-algoritme als de Windows-contract-API, inclusief woord- of zinwijzigingen, cross-page-verplaatsingen, herhaalde-marge-exclusie, boilerplate-filters en paginavervolgingen

Contractrapporten omvatten comparisonComplete, identical, differenceCount, pagina- en paragraaf-aantallen, exclusies, werk- en alignment-counters, plus per wijziging tekst, context en locaties

Elke locatie bevat een zero-based pagina en paragraaf, een one-based character offset, character count en PDF user-space-rechthoeken die kruisende semantic lines dekken; rechthoeken representeren regelgeometrie

Native glyph-extractie behoudt nested Form-resources en -matrices, geërfde paginagrenzen en extractiepermissies voor plaintext- en geauthenticeerde AES R5/R6-invoer; pagina's zonder extraheerbare tekst rapporteren een extractiefaling en vragen OCR of expliciete blank-page-verwijdering

Options en limieten

options accepteert granularity (word of sentence), ignoreCase, ignoreRepeatedHeadersFooters, normalizeMarginDigits, joinPageContinuations, headerMarginPoints, footerMarginPoints, paragraphGapFactor, minimumParagraphSimilarity, minimumRepeatedPages en excludedLineTexts

Expliciete positieve integer-limieten omvatten maxPages, maxParagraphs, maxSemanticLines, maxCharacters, maxTokens, maxDifferences, maxAlignmentCells en maxWorkUnits; operation memory- en resultaatbudgetten klemden deze limieten af vóór executie

compare accepteert page-count-, page-text-, object-count-, rendered-image-, structural- en full-modi met JSON-uitvoer; ontdek beschikbare modi via comparisonModes en contractformaten via contractFormats

format:json schrijft de resultaat-JSON naar de optionele binary-callback evenals de vereiste result-callback; format:html vraagt een binary-callback en schrijft een standalone UTF-8-review met geëscapete titel en contractbewoordingen

format:pdf vraagt binaire output-callbacks en maakt een echte geannoteerde review-kopie van side:before of side:after, defaultend naar after; options.maxHighlights begrenst gehighlighte semantic lines

Levensduur en publicatie

Houd beide handles in leven tijdens de aanroep; same-handle-vergelijking wordt ondersteund en concurrende vergelijkingen in omgekeerde volgorde verkrijgen locks in stabiele volgorde

Alle callbacks draaien synchroon op de aanroepende thread; resourcelimieten worden tijdelijk toegepast op elk geladen document en daarna hersteld, inclusief faal- en annuleringspaden

De aanroep accepteert geen invoer-callback of bestandspad-leden en behoudt beide brondocumenten en diens revisies; binary- en JSON-uitvoer worden voorbereid en begrensd voordat publicatie begint

Pascal-interface

HPDFCompareHeadlessContracts accepteert twee THPDFHeadlessDocument-objecten met bestaande THPDFContractCompareOptions en geeft THPDFContractCompareReport terug

HPDFHeadlessContractSource legt de native adapter bloot; HPDFCompareContractSources in HPDFContractCompareCore accepteert custom begrensde page-count-, semantic-page- en visible-box-callbacks voor de portable core

HPDFContractCompareCore is eigenaar van de gedeelde algoritme, rapporttypes en HTML-renderer zonder VCL- of LCL-dependencies; de bestaande HPDFContractCompare-Windows-interface behoudt diens types, constanten en geladen-document-entrypoints via aliassen en adapters

THPDFHeadlessDocument.ExtractPageGlyphs en AnalyzePageSemanticText leggen gepositioneerde glyphs en semantische layout bloot via dezelfde nested-content-walker die ExtractPageText gebruikt

Native ABI-acceptatie verifieert echte plaintext-, AES R5/R6- en nested-Form-vergelijkingen, rollback, budgetten en lock-ordering; onafhankelijke pypdf- en MuPDF-readers verifiëren complete verschillen, exacte contexten, offsets en bron-glyph-geometrie

Native Linux C ABI · Contract comparison · Remaining delivery plan