Native Linux contract karşılaştırması

hpdf_document_compare_json_v1, iki yüklenmiş document handle ödünç alır ve native semantik contract karşılaştırmasını veya genel belge karşılaştırmasını çalıştırır; callback'lerle hazırlanmış output ile birlikte

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

Semantik contract raporları

Native adapter, Windows contract API'siyle aynı taşınabilir paragraph alignment ve fark algoritmasını kullanır; kelime veya cümle değişiklikleri, çapraz-sayfa taşımaları, tekrarlanan margin dışlaması, boilerplate filter'ları ve sayfa devam bilgileri dâhil

Contract raporları, comparisonComplete, identical, differenceCount, sayfa ve paragraph sayaçları, dışlamalar, work ve alignment sayaçlarını ve her değişikliğin metnini, context'ini ve konumlarını içerir

Her konum, zero-based bir sayfa ve paragraph, one-based bir character offset, character sayısı ve kesişen semantik satırları kapsayan PDF user-space dikdörtgenleri içerir; dikdörtgenler satır geometrisini temsil eder

Native glyph extraction, plaintext ve authenticated AES R5/R6 girdileri için iç-ice Form kaynaklarını ve matrix'leri, kalıtılan sayfa sınırlarını ve extraction izinlerini korur; çıkarılabilir metni olmayan sayfalar bir extraction başarısızlığı raporlar ve OCR veya açık boş-sayfa kaldırma gerektirir

Options ve limitler

options, granularity (word veya sentence), ignoreCase, ignoreRepeatedHeadersFooters, normalizeMarginDigits, joinPageContinuations, headerMarginPoints, footerMarginPoints, paragraphGapFactor, minimumParagraphSimilarity, minimumRepeatedPages ve excludedLineTexts kabul eder

Açık pozitif integer limitler, maxPages, maxParagraphs, maxSemanticLines, maxCharacters, maxTokens, maxDifferences, maxAlignmentCells ve maxWorkUnits içerir; operation bellek ve result bütçeleri bu limitleri yürütmeden önce sınırlar

compare, JSON output ile page-count, page-text, object-count, rendered-image, structural ve full mode'ları kabul eder; mevcut mode'ları comparisonModes üzerinden, contract format'larını contractFormats üzerinden keşfedin

format:json, result JSON'u opsiyonel binary callback'e de yazar — zorunlu result callback'e yazdığı gibi; format:html bir binary callback gerektirir ve escape edilmiş title ve contract ifadeleriyle bağımsız bir UTF-8 inceleme yazar

format:pdf, binary output callback'leri gerektirir ve side:before veya side:after'ın — default olarak after — gerçek bir anote edilmiş inceleme kopyasını oluşturur; options.maxHighlights, highlight edilen semantik satırları sınırlar

Lifetime ve yayımlama

Çağrı sırasında her iki handle'ı canlı tutun; same-handle karşılaştırma desteklenir ve ters-sıralı eşzamanlı karşılaştırmalar, kararlı bir sırayla lock alır

Tüm callback'ler çağıran thread'de eşzamanlı çalışır; kaynak limitleri, başarısızlık ve cancellation yolları dâhil, geçici olarak her yüklenmiş belgeye uygulanır ve ardından geri alınır

Çağrı, input callback veya file-path üyesi kabul etmez ve her iki kaynak belgeyi ve revizyonlarını korur; binary ve JSON output, yayımlama başlamadan önce hazırlanır ve sınırlanır

Pascal interface

HPDFCompareHeadlessContracts, mevcut THPDFContractCompareOptions ile iki THPDFHeadlessDocument object kabul eder ve THPDFContractCompareReport döndürür

HPDFHeadlessContractSource, native adapter'ı açığa çıkarır; HPDFContractCompareCore içindeki HPDFCompareContractSources, taşınabilir core için özel sınırlı page-count, semantic-page ve visible-box callback'leri kabul eder

HPDFContractCompareCore, paylaşılan algoritmayı, report türlerini ve HTML renderer'ı VCL veya LCL bağımlılığı olmadan sahiplenir; mevcut HPDFContractCompare Windows interface'i, kendi türlerini, constant'larını ve loaded-document entry point'lerini alias ve adapter'lar üzerinden korur

THPDFHeadlessDocument.ExtractPageGlyphs ve AnalyzePageSemanticText, konumlu glyph'leri ve semantik layout'u, ExtractPageText tarafından kullanılan aynı iç-ice-content walker'ı üzerinden açığa çıkarır

Native ABI kabulü, gerçek plaintext, AES R5/R6 ve iç-ice-Form karşılaştırmalarını, rollback'i, bütçeleri ve lock sıralamasını doğrular; bağımsız pypdf ve MuPDF reader'ları, eksiksiz farkları, kesin context'leri, offset'leri ve kaynak glyph geometrisini doğrular

Native Linux C ABI · Contract karşılaştırması · Kalan teslim planı