Jämförelse av nativa Linux-kontrakt
hpdf_document_compare_json_v1 lånar två inlästa dokumenthandtag och kör nativ semantisk kontraktjämförelse eller allmän dokumentjämförelse, med förberedd utmatning 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}}
Semantiska kontraktsrapporter
Den nativa adaptern använder samma portabla styckejustering och differensalgoritm som Windows-kontrakt-API:t, inklusive ändringar på ord- eller meningsnivå, flyttningar över sidor, exkludering av upprepade marginaler, boilerplate-filter och sidfortsättningar
Kontraktsrapporter innehåller comparisonComplete, identical, differenceCount, sid- och styckeantal, exkluderingar, arbets- och justeringsräknare samt varje ändrings text, kontext och platser
Varje plats innehåller en nollbaserad sida och ett stycke, en ettbaserad teckenoffset, teckenantal och PDF-rektanglar i användarrymd som täcker korsande semantiska rader; rektanglarna representerar radgeometri
Nativ glyph-extraktion bevarar nästlade Form-resurser och matriser, ärvda sidgränser och extraheringsbehörigheter för klartext samt autentiserade AES R5/R6-indata; sidor utan extraherbar text rapporterar ett extraheringsfel och kräver OCR eller explicit borttagning av tomma sidor
Alternativ och gränser
options accepterar granularity (word eller sentence), ignoreCase, ignoreRepeatedHeadersFooters, normalizeMarginDigits, joinPageContinuations, headerMarginPoints, footerMarginPoints, paragraphGapFactor, minimumParagraphSimilarity, minimumRepeatedPages och excludedLineTexts
Explicita positiva heltalsgränser omfattar maxPages, maxParagraphs, maxSemanticLines, maxCharacters, maxTokens, maxDifferences, maxAlignmentCells och maxWorkUnits; operationens minnes- och resultatbudgetar takar dessa gränser före körningen
compare accepterar lägena sidantal, sidtext, objektantal, renderad bild, strukturell och fullständig med JSON-utmatning; upptäck tillgängliga lägen via comparisonModes och kontraktsformat via contractFormats
format:json skriver resultat-JSON till den valfria binära callbacken och till den obligatoriska resultatcallbacken; format:html kräver en binär callback och skriver en fristående UTF-8-granskning med escaped titel och kontraktsformulering
format:pdf kräver binära utmatningscallbacks och skapar en faktisk annoterad granskningskopia av side:before eller side:after, med after som standard; options.maxHighlights begränsar antalet markerade semantiska rader
Livstid och publicering
Håll båda handtagen vid liv under anropet; jämförelse med samma handtag stöds, och samtidiga jämförelser i omvänd ordning förvärver lås i en stabil ordning
Alla callbacks körs synkront på anropande tråd; resursgränser tillämpas tillfälligt på varje inläst dokument och återställs efteråt, även vid fel och avbrott
Anropet accepterar ingen indatacallback eller filvägsmedlemmar och bevarar båda källdokumenten och deras revisioner; binär och JSON-utmatning förbereds och begränsas innan publiceringen börjar
Pascal-gränssnitt
HPDFCompareHeadlessContracts tar två THPDFHeadlessDocument-objekt med befintliga THPDFContractCompareOptions och returnerar THPDFContractCompareReport
HPDFHeadlessContractSource exponerar den nativa adaptern; HPDFCompareContractSources i HPDFContractCompareCore accepterar anpassade begränsade callbacks för sidantal, semantiska sidor och synliga boxar för den portabla kärnan
HPDFContractCompareCore äger den delade algoritmen, rapporttyperna och HTML-renderaren utan VCL- eller LCL-beroenden; det befintliga Windows-gränssnittet HPDFContractCompare bevarar sina typer, konstanter och ingångspunkter för inlästa dokument via alias och adapter
THPDFHeadlessDocument.ExtractPageGlyphs och AnalyzePageSemanticText exponerar positionerade glyphs och semantisk layout via samma nästlingsvandring som ExtractPageText använder
Nativt ABI-godkännande verifierar faktiska jämförelser med klartext, AES R5/R6 och nästlade Forms, rollback, budgetar och låsordning; oberoende pypdf- och MuPDF-läsare verifierar kompletta differenser, exakta kontexter, offset samt källglyphgeometri
Nativt Linux C ABI · Kontraktjämförelse · Återstående leveransplan