Native Linux kontraktsammenligning
hpdf_document_compare_json_v1 låner to indlæste dokumenthandles og afvikler native semantisk kontraktsammenligning eller generel dokumentsammenligning med forberedt output gennem 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}}
Semantiske kontraktrapporter
Den native adapter bruger samme portable afsnitsjusterings- og differensalgoritme som Windows kontrakt-API, inklusive ord- eller sætningsændringer, krydsside-flytninger, gentagne margin-eksklusioner, boilerplate-filtre og sidefortsættelser
Kontraktrapporter inkluderer comparisonComplete, identical, differenceCount, side- og afsnitsantal, eksklusioner, arbejds- og justeringstællere plus hver ændrings tekst, kontekst og lokationer
Hver lokation indeholder en nul-baseret side og afsnit, et ét-baseret tegnoffset, tegnantal og PDF user space-rektangler, der dækker skærende semantiske linjer; rektangler repræsenterer linjegeometri
Native glyph-udtrækning bevarer nestede Form-ressourcer og -matricer, nedarvede sidegrænser og extraction-tilladelser for plaintext- og autentificerede AES R5/R6-input; sider uden udtrækkelig tekst rapporterer en ekstraktionsfejl og kræver OCR eller eksplicit tom side-fjernelse
Options og grænser
options accepterer granularity (word eller sentence), ignoreCase, ignoreRepeatedHeadersFooters, normalizeMarginDigits, joinPageContinuations, headerMarginPoints, footerMarginPoints, paragraphGapFactor, minimumParagraphSimilarity, minimumRepeatedPages og excludedLineTexts
Eksplicitte positive heltalsgrænser inkluderer maxPages, maxParagraphs, maxSemanticLines, maxCharacters, maxTokens, maxDifferences, maxAlignmentCells og maxWorkUnits; operationshukommelses- og resultatbudgetter begrænser disse grænser inden afvikling
compare accepterer sideantal-, sidetekst-, objektantal-, rendered image-, strukturelle og fulde modes med JSON-output; opdag tilgængelige modes gennem comparisonModes og kontraktformater gennem contractFormats
format:json skriver resultat-JSON til den valgfrie binære callback såvel som den krævede resultat-callback; format:html kræver en binær callback og skriver et selvstændigt UTF-8-review med escaped titel og kontraktordlyd
format:pdf kræver binære output-callbacks og opretter en rigtig annoteret review-kopi af side:before eller side:after med after som standard; options.maxHighlights begrænser fremhævede semantiske linjer
Levetid og publicering
Hold begge handles i live under kaldet; same-handle-sammenligning understøttes, og modsat-ordnede samtidige sammenligninger tager låse i en stabil rækkefølge
Alle callbacks kører synkront på den kaldende tråd; ressourcelgrænser anvendes midlertidigt på hvert indlæst dokument og gendannes bagefter, inklusive fejl- og cancellationsstier
Kaldet accepterer ingen input-callback eller filsti-members og bevarer begge kildedokumenter og deres revisioner; binært og JSON-output forberedes og afgrænses, før publicering begynder
Pascal-interface
HPDFCompareHeadlessContracts accepterer to THPDFHeadlessDocument-objekter med eksisterende THPDFContractCompareOptions og returnerer THPDFContractCompareReport
HPDFHeadlessContractSource udstiller den native adapter; HPDFCompareContractSources i HPDFContractCompareCore accepterer custom afgrænsede sideantal-, semantisk side- og synlig boks-callbacks til den portable kerne
HPDFContractCompareCore ejer den delte algoritme, rapporttyper og HTML-renderer uden VCL- eller LCL-afhængigheder; den eksisterende HPDFContractCompare Windows-grænseflade bevarer sine typer, konstanter og indlæst-dokument-indgangspunkter gennem aliasser og adapters
THPDFHeadlessDocument.ExtractPageGlyphs og AnalyzePageSemanticText udstiller positionerede glyphs og semantisk layout gennem samme nested content-walker som ExtractPageText
Native ABI-accept verificerer rigtig plaintext-, AES R5/R6- og nested Form-sammenligning, rollback, budgetter og låserækkefølge; uafhængige pypdf- og MuPDF-readers verificerer komplette forskelle, eksakte kontekster, offsets og kilde glyph-geometri
Native Linux C ABI · Kontraktsammenligning · Tilbageværende leveringsplan