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