네이티브 Linux 계약서 비교

hpdf_document_compare_json_v1은 로드된 문서 핸들 두 개를 빌려 네이티브 의미론적 계약서 비교 또는 일반 문서 비교를 실행하고, 준비된 출력은 콜백으로 내보냅니다

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

의미론적 계약서 보고서

네이티브 어댑터는 Windows 계약서 API와 동일한 이식 가능한 문단 정렬 및 차이 알고리즘을 씁니다. 단어·문장 변경, 페이지를 넘나드는 이동, 반복 margin 제외, 상용구 필터, 페이지 연속이 여기에 포함됩니다

계약서 보고서에는 comparisonComplete, identical, differenceCount, 페이지·문단 수, 제외 항목, 작업·정렬 카운터에 더해 변경별 텍스트, 컨텍스트, 위치가 들어갑니다

각 위치는 0부터 시작하는 페이지·문단, 1부터 시작하는 문자 오프셋, 문자 수, 겹치는 의미 행을 덮는 PDF 사용자 공간 사각형을 담습니다. 사각형은 행 지오메트리를 나타냅니다

네이티브 글리프 추출은 중첩 Form 리소스와 행렬, 상속된 페이지 경계, 평문 및 인증된 AES R5/R6 입력의 추출 권한을 유지합니다. 추출 가능한 텍스트가 없는 페이지는 추출 실패를 보고하며 OCR이나 명시적 빈 페이지 제거가 필요합니다

옵션과 한도

options는 granularity(word 또는 sentence), ignoreCase, ignoreRepeatedHeadersFooters, normalizeMarginDigits, joinPageContinuations, headerMarginPoints, footerMarginPoints, paragraphGapFactor, minimumParagraphSimilarity, minimumRepeatedPages, excludedLineTexts를 받습니다

명시적 양의 정수 한도로는 maxPages, maxParagraphs, maxSemanticLines, maxCharacters, maxTokens, maxDifferences, maxAlignmentCells, maxWorkUnits가 있습니다. 연산 메모리와 결과 예산이 실행 전에 이 한도들의 상한을 잡습니다

compare는 JSON 출력과 함께 page-count, page-text, object-count, rendered-image, structural, full 모드를 받습니다. 사용 가능한 모드는 comparisonModes로, 계약서 형식은 contractFormats로 알아볼 수 있습니다

format:json은 결과 JSON을 필수 result 콜백과 선택적 binary 콜백에 씁니다. format:html은 binary 콜백이 필요하고 이스케이프된 제목과 계약 문구가 들어간 독립 UTF-8 검토 문서를 씁니다

format:pdf는 binary 출력 콜백이 필요하고 side:before 또는 side:after(기본값 after)의 실제 주석 검토 사본을 만듭니다. options.maxHighlights는 강조되는 의미 행 수를 제한합니다

수명과 발행

호출 동안 핸들 둘 다 살아 있어야 합니다. 같은 핸들 비교도 지원하고, 반대 순서의 동시 비교는 안정적인 순서로 락을 획득합니다

모든 콜백은 호출 스레드에서 동기로 실행됩니다. 리소스 한도는 로드된 문서마다 임시로 적용되고 나중에 복원되며, 실패와 취소 경로도 포함입니다

이 호출은 입력 콜백이나 파일 경로 멤버를 받지 않고 소스 문서와 리비전을 보존합니다. binary와 JSON 출력은 발행이 시작되기 전에 준비되고 한도가 매겨집니다

Pascal 인터페이스

HPDFCompareHeadlessContracts는 THPDFContractCompareOptions가 이미 있는 THPDFHeadlessDocument 객체 두 개를 받고 THPDFContractCompareReport를 반환합니다

HPDFHeadlessContractSource는 네이티브 어댑터를 노출합니다. HPDFContractCompareCore의 HPDFCompareContractSources는 이식 가능한 코어를 위해 사용자 정의 유한 page-count, semantic-page, visible-box 콜백을 받습니다

HPDFContractCompareCore는 VCL이나 LCL 의존 없이 공유 알고리즘, 보고서 타입, HTML 렌더러를 소유합니다. 기존 HPDFContractCompare Windows 인터페이스는 별칭과 어댑터로 자기 타입, 상수, 로드 문서 엔트리 포인트를 유지합니다

THPDFHeadlessDocument.ExtractPageGlyphs와 AnalyzePageSemanticText는 ExtractPageText가 쓰는 동일한 중첩 콘텐츠 워커로 위치가 매겨진 글리프와 의미 레이아웃을 노출합니다

네이티브 ABI 검수는 실제 평문, AES R5/R6, 중첩 Form 비교와 롤백, 예산, 락 순서를 확인합니다. 독립 pypdf와 MuPDF 리더는 완전한 차이, 정확한 컨텍스트, 오프셋, 소스 글리프 지오메트리를 검증합니다

네이티브 Linux C ABI · 계약서 비교 · 남은 배포 계획