Contract Comparison

HPDFContractCompare so sánh văn bản ngữ nghĩa và hình học dòng của hai tài liệu PDF đã nạp, căn chỉnh các đoạn văn, và trả về các bản ghi chèn, xóa, thay thế, di chuyển có thể kiểm toán

Dùng helper này để rà soát văn từ và điều khoản, còn THPDFDocComparison dành cho khác biệt ở cấp trang, object và hình ảnh dựng

So sánh hợp đồng đã nạp

uses HPDFDoc, HPDFTypes, HPDFContractCompare;

Options := HPDFDefaultContractCompareOptions;
Options.Granularity := ccgWord;
BeforePDF.LoadFromFile('contract-before.pdf');
AfterPDF.LoadFromFile('contract-after.pdf');
if HPDFCompareContracts(BeforePDF, AfterPDF, Options, Report, Token) then
begin
  HTML := HPDFContractReviewHTML(Report, 'Services agreement review',
    8388608, Token);
  HPDFSaveContractAnnotatedPDF('contract-before.pdf',
    'contract-before-review.pdf', Report, ccsBefore, Token);
  HPDFSaveContractAnnotatedPDF('contract-after.pdf',
    'contract-after-review.pdf', Report, ccsAfter, Token);
end;

Lưu HTML trả về bằng UTF-8, và kiểm tra Report.Status cùng Report.Note khi hàm so sánh trả về false

Căn chỉnh đoạn văn và các thay đổi

Tham chiếu trang và hình học

PageIndex và ParagraphIndex đánh số từ zero, trong khi CharacterStart là vị trí UTF-16 một-dựa trong đoạn văn đã chuẩn hóa khoảng trắng

Phía vắng mặt của một phép chèn hoặc xóa toàn đoạn có chỉ số trang và đoạn văn bằng -1, còn một phép chèn hoặc xóa token trong một đoạn văn đã ghép giữ vị trí có độ dài zero ở phía đối diện

Mỗi hình chữ nhật mang chỉ số trang riêng và phủ một dòng ngữ nghĩa giao nhau trong PDF user space, và một đoạn văn kéo dài qua nhiều trang có thể có hình chữ nhật trên nhiều trang

Các vị trí mô tả độ phủ dòng chứ không phải tứ giác ký tự chính xác, vì thế một PDF có chú thích có thể tô sáng cùng một dòng cho vài thay đổi từ độc lập

Loại trừ các phần lặp lại và văn bản mẫu

Mặc định, các dòng ngữ nghĩa khớp nhau xuất hiện trong 54 points trên cùng hoặc dưới cùng của ít nhất hai trang phân biệt ở mỗi đầu vào bị loại trừ, và các chữ số lề được chuẩn hóa để số trang lặp lại có thể khớp nhau

Tài liệu before và after được lọc độc lập, và các phần lặp lại thuộc phần thân vẫn đủ điều kiện để so sánh bất kể xuất hiện bao nhiêu lần

Options.IgnoreRepeatedHeadersFooters := False;
Options.NormalizeMarginDigits := False;
Options.HeaderMarginPoints := 40;
Options.FooterMarginPoints := 35;
SetLength(Options.ExcludedLineTexts, 1);
Options.ExcludedLineTexts[0] :=
  'The parties shall maintain an accurate register of approved subcontractors.';

ExcludedLineTexts loại bỏ trọn một dòng ngữ nghĩa bằng so khớp bằng chữ sau khi chuẩn hóa khoảng trắng, tôn trọng IgnoreCase, và không bao giờ diễn giải regular expression hay mẫu substring

Hãy chọn lề và danh sách loại trừ một cách chủ đích, vì ngày tháng hoặc văn bản hợp đồng khác nằm trong một dòng lề lặp lại bị loại trừ sẽ biến mất khỏi bản rà soát văn từ

Ngân sách và hủy

Tùy chọnMặc địnhPhạm vi
MaxPages500Mỗi tài liệu
MaxParagraphs4000Mỗi tài liệu sau loại trừ
MaxSemanticLines50000Tổng dòng ngữ nghĩa trước snapshot và loại trừ
MaxCharacters2000000Tổng văn bản dòng đã trích xuất trước loại trừ
MaxTokens200000Tổng token từ và, ở chế độ câu, token câu
MaxDifferences10000Bản ghi trả về, gồm cả di chuyển
MaxAlignmentCells2000000Tích lũy các ma trận token của đoạn văn thay đổi
MaxWorkUnits50000000Kế toán trích xuất và công việc căn chỉnh

Chạm ngân sách trả về ccsBudgetExceeded, hủy trả về ccsCancelled, với các kết quả thu được một phần vẫn giữ lại để chẩn đoán và được đánh dấu chưa hoàn chỉnh trong HTML

Việc hủy được kiểm tra giữa các lần trích xuất trang và xuyên suốt các vòng lặp căn chỉnh thuộc thư viện, trong khi bộ trích xuất ngữ nghĩa đơn trang bên dưới vẫn đồng bộ

ccsInvalidInput báo tài liệu thiếu, ordinal enum không hợp lệ, hoặc tùy chọn không hợp lệ, và ccsExtractionFailed báo các trang không có văn bản trích xuất được hoặc trích xuất ngữ nghĩa thất bại

OCR hoặc loại bỏ trang trắng tường minh là bắt buộc trước khi so sánh các trang không có văn bản trích xuất được, và ccsComplete chỉ chứng nhận hoàn tất của phép so sánh văn bản này

Sản phẩm rà soát

HPDFContractReviewHTML trả về một tài liệu độc lập với title, message, văn bản, ngữ cảnh đoạn văn đầy đủ, loại thay đổi, và cả hai vị trí nguồn đã escape, với giới hạn đầu ra mặc định 8388608 ký tự UTF-16

Trình xuất HTML raise EHPDFContractCompareBudget khi đầu ra vượt giới hạn đã cấu hình, và token hủy của nó raise EHPDFOperationCancelled

HPDFSaveContractAnnotatedPDF đòi hỏi báo cáo đã hoàn tất, nạp một tài liệu nguồn riêng, và kiểm tra mọi snapshot trang ngữ nghĩa kể cả hình học dòng chính xác của nó trước khi thêm các tô sáng kèm ghi chú rà soát đánh số

Hãy chỉ định đường dẫn nguồn và đầu ra phân biệt, chọn ccsBefore hoặc ccsAfter, và xuất cả hai phiên bản khi bạn cần xem xét xóa và chèn toàn đoạn cùng lúc

Trên Windows, danh tính tệp nguồn và đầu ra được kiểm tra để từ chối hard-link hoặc alias khác của tệp nguồn

Trình xuất PDF tắt AutoLaunch, giữ nguyên các tài liệu đầu vào và tệp nguồn, và kiểm tra hủy trước khi nạp, giữa các trang và thay đổi, và trước khi lưu

Helper này so sánh văn từ trích xuất và tham chiếu bố cục mà không suy diễn ý nghĩa pháp lý, không nhận dạng văn bản quét, và không chứng nhận hiệu lực pháp lý của một bản sửa đổi

API liên quan

HPDFCompareContracts · THPDFContractCompareOptions · THPDFContractCompareReport · HPDFContractReviewHTML · HPDFSaveContractAnnotatedPDF