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
- Các dòng ngữ nghĩa được nhóm theo trang, cột, ranh giới danh sách hoặc tiêu đề cùng các khoảng baseline cấu hình được, với khoảng trắng được chuẩn hóa giữa các dòng
- Đoạn văn khớp chính xác được ghép trước, và các điều khoản nội dung trùng lặp giống hệt nhau giữ nguyên thứ tự xuất hiện và số lần xuất hiện
- Đoạn văn bị thay đổi được ghép bằng điểm tương đồng từ multiset cấu hình được, độc lập với granularity khác biệt đã chọn
- Một dãy tăng dài nhất của các đoạn văn đã ghép nhận diện việc sắp xếp lại mà không báo cáo các dịch chuyển chỉ số thông thường do chèn và xóa gây ra thành di chuyển
- Đoạn văn đã ghép bị thay đổi dùng một phép căn chỉnh token có chặn trên để trả về các bản ghi chèn, xóa hoặc thay thế cùng ngữ cảnh đoạn văn đầy đủ của cả hai phía
- Chế độ từ tách dấu câu khỏi từ, còn chế độ câu dùng dấu chấm, dấu chấm than, hoặc dấu hỏi kết thúc theo sau bởi khoảng trắng hoặc kết thúc đoạn văn
- Ranh giới câu mang tính từ vựng và có thể cắt sai các từ viết tắt hoặc nhãn điều khoản đánh số, vì thế chế độ từ là mặc định cho việc rà soát văn từ pháp lý chính xác
JoinPageContinuationsmột cách thận trọng nối một đoạn văn chưa hoàn tất gần đáy trang này với một đoạn văn trơn gần đỉnh trang kế tiếp, và caller có thể tắt heuristic bố cục này
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ọn | Mặc định | Phạm vi |
|---|---|---|
MaxPages | 500 | Mỗi tài liệu |
MaxParagraphs | 4000 | Mỗi tài liệu sau loại trừ |
MaxSemanticLines | 50000 | Tổng dòng ngữ nghĩa trước snapshot và loại trừ |
MaxCharacters | 2000000 | Tổng văn bản dòng đã trích xuất trước loại trừ |
MaxTokens | 200000 | Tổng token từ và, ở chế độ câu, token câu |
MaxDifferences | 10000 | Bản ghi trả về, gồm cả di chuyển |
MaxAlignmentCells | 2000000 | Tích lũy các ma trận token của đoạn văn thay đổi |
MaxWorkUnits | 50000000 | Kế 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