Native Linux contract comparison

hpdf_document_compare_json_v1 si vypůjčí dva načtené dokumentové handly a spustí nativní sémantické porovnání kontraktů či obecné porovnání dokumentů, s připraveným výstupem přes callbacky

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

Sémantické kontrahové reporty

Nativní adaptér použije tentýž přenosný algoritmus zarovnání a rozdílů odstavců jako Windows contract API, tedy i změny slov či vět, přesuny napříč stránkami, vyloučení opakovaných okrajů, filtry boilerplate i pokračování stránek

Kontrahové reporty obsahují comparisonComplete, identical, differenceCount, počty stránek a odstavců, vyloučení, počítadla práce i zarovnání, plus u každé změny text, kontext i pozice

Každá pozice obsahuje zero-based stránku a odstavec, one-based znakový offset, počet znaků i PDF obdélníky v user space pokrývající protínající sémantické řádky; obdélníky reprezentují geometrii řádků

Nativní extrakce glyfů zachovává vnořené Form resource i matice, zděděné meze stránek i oprávnění k extrakci u plaintext i autentizovaných AES R5/R6 vstupů; stránky bez extrahovatelného textu reportují selhání extrakce a vyžadují OCR či explicitní odebrání prázdných stránek

Volby a limity

options přijímá granularity (word či sentence), ignoreCase, ignoreRepeatedHeadersFooters, normalizeMarginDigits, joinPageContinuations, headerMarginPoints, footerMarginPoints, paragraphGapFactor, minimumParagraphSimilarity, minimumRepeatedPages a excludedLineTexts

Explicitní kladné celočíselné limity zahrnují maxPages, maxParagraphs, maxSemanticLines, maxCharacters, maxTokens, maxDifferences, maxAlignmentCells a maxWorkUnits; paměťové a výsledkové rozpočty operace ty limity před provedením omezí

compare přijímá režimy page-count, page-text, object-count, rendered-image, structural i full s JSON výstupem; dostupné režimy odhalte přes comparisonModes a kontrahové formáty přes contractFormats

format:json zapíše výsledkový JSON do volitelného binárního callbacku i do povinného výsledkového callbacku; format:html vyžaduje binární callback a zapíše samostatný UTF-8 review s escapovaným titulkem i zněním kontraktu

format:pdf vyžaduje binární output callbacky a vytvoří skutečnou anotovanou review kopii side:before či side:after, defaultně after; options.maxHighlights omezí zvýrazněné sémantické řádky

Životnost a publikace

Během volání držte obě handla naživu; porovnání se stejným handlem je podporované a souběžná porovnání v opačném pořadí si zámky pořídí v stabilním pořadí

Všechny callbacky běží synchronně na volajícím vlákně; limity resource se dočasně aplikují na každý načtený dokument a poté obnoví, tedy i na cestách selhání a zrušení

Volání nepřijímá žádný vstupní callback ani členy s cestami k souborům a zachovává oba zdrojové dokumenty i jejich revize; binární i JSON výstup se připraví a ohraničí, dřív než publikace začne

Pascal rozhraní

HPDFCompareHeadlessContracts přijme dva objekty THPDFHeadlessDocument se stávajícími THPDFContractCompareOptions a vrátí THPDFContractCompareReport

HPDFHeadlessContractSource vystavuje nativní adaptér; HPDFCompareContractSources v HPDFContractCompareCore přijme vlastní ohraničené callbacky počtu stránek, sémantických stránek i viditelných boxů pro přenosné jádro

HPDFContractCompareCore vlastní sdílený algoritmus, typy reportů i HTML renderer, bez závislostí na VCL či LCL; stávající Windows rozhraní HPDFContractCompare si přes aliasy a adaptéry uchovává své typy, konstanty i vstupní body načtených dokumentů

THPDFHeadlessDocument.ExtractPageGlyphs a AnalyzePageSemanticText vystavují pozicované glyfy i sémantický layout přes téhož walkera vnořeného obsahu, jaký používá ExtractPageText

Nativní akceptace ABI verifikuje skutečná porovnání plaintext, AES R5/R6 i vnořených Form, rollback, rozpočty i pořadí zámků; nezávislé čtečky pypdf a MuPDF verifikují kompletní rozdíly, přesné kontexty, offsety i geometrii zdrojových glyfů

Nativní Linux C ABI · Porovnání kontraktů · Zbývající dodací plán