Avtalsjämförelse

HPDFContractCompare jämför semantisk text och radgeometri i två inlästa PDF-dokument, parkopplar paragrafer och returnerar granskningsbara insert-, delete-, replace- och move-poster

Använd den här hjälparen för formulering- och klausulgranskning, och använd THPDFDocComparison för sid-, objekt- och renderingsskillnader

Jämför inlästa avtal

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;

Spara det returnerade HTML:et som UTF-8 och granska Report.Status och Report.Note när jämförelsefunktionen returnerar false

Paragrafparkoppling och ändringar

Sid- och geometrireferenser

PageIndex och ParagraphIndex är nollbaserade, medan CharacterStart är en ettbaserad UTF-16-position inom den blankstegsnormaliserade paragrafen

Hos en helparagrafsinsättning eller -borttagning har den frånvarande motparten sid- och paragrafindex -1, och en tokeninsättning eller -borttagning inuti en matchad paragraf behåller en nollängdsposition på motpartssidan

Varje rektangel bär sitt eget sidindex och täcker en skärande semantisk rad i PDF-användarrymd, och en paragraf som spänner över sidor kan ha rektanglar på flera sidor

Platser beskriver radtäckning i stället för exakta teckenfyrhörningar, så en annoterad PDF kan markera samma rad för flera oberoende ordändringar

Undanta återkommande siddekorationer och boilerplate

Standardinställningarna undantar matchande semantiska rader som förekommer i de översta eller understa 54 punkterna på minst två olika sidor i respektive indata, och normaliserar marginalsiffror så att upprepade sidnummer kan matcha

Före- och efterdokumenten filtreras oberoende, och upprepningar i brödtexten förblir jämförbara oavsett hur många gånger de förekommer

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 tar bort en hel semantisk rad genom exakt likhet efter blankstegsnormalisering, respekterar IgnoreCase och tolkar aldrig reguljära uttryck eller delfrasmönster

Välj marginaler och undantag med eftertanke, eftersom datum eller annan avtalstext inuti en undantagen återkommande marginalrad utelämnas från formuleringgranskningen

Budgeter och avbrott

AlternativStandardvärdeOmfattning
MaxPages500Varje dokument
MaxParagraphs4000Varje dokument efter undantag
MaxSemanticLines50000Kombinerade semantiska rader före ögonblicksbilder och undantag
MaxCharacters2000000Kombinerad extraherad radtext före undantag
MaxTokens200000Kombinerade ordtokens och, i meningsläge, meningstokens
MaxDifferences10000Returnerade poster, inklusive flyttningar
MaxAlignmentCells2000000Kumulativa tokenmatriser för ändrade paragrafer
MaxWorkUnits50000000Extraheringsbokföring och justeringsarbete

En budgetgräns returnerar ccsBudgetExceeded och avbrott returnerar ccsCancelled, med partiella fynd bevarade för diagnos och markerade som ofullständiga i HTML:et

Avbrott kontrolleras mellan sidextraktioner och genom hela biblioteksägda justeringsslingor, medan den underliggande ensidiga semantiska extraktorn förblir synkron

ccsInvalidInput rapporterar saknade dokument, ogiltiga enum-ordinaler eller ogiltiga alternativ, och ccsExtractionFailed rapporterar sidor utan extraherbar text eller misslyckad semantisk extraktion

OCR eller explicit borttagning av tomma sidor krävs innan sidor utan extraherbar text jämförs, och ccsComplete intygar fullbordandet av endast denna textjämförelse

Granskningsartefakter

HPDFContractReviewHTML returnerar ett fristående dokument med escape:ad titel, meddelanden, text, fullständiga paragrafsammanhang, ändringstyper och båda källplatserna, med en utdatagräns på 8388608 UTF-16-tecken som standard

HTML-exporteraren utlöser EHPDFContractCompareBudget när dess utdata överskrider den konfigurerade gränsen, och dess avbrottstoken utlöser EHPDFOperationCancelled

HPDFSaveContractAnnotatedPDF kräver en fullbordad rapport, läser in ett separat källdokument och kontrollerar varje semantisk sidögonblicksbild inklusive dess exakta radgeometri innan markeringar med numrerade granskningskommentarer läggs till

Ange olika käll- och utdatasökvägar, välj ccsBefore eller ccsAfter och exportera båda versionerna när du behöver granska helparagrafsborttagningar och -insättningar tillsammans

På Windows kontrolleras käll- och utdatafilernas identiteter för att avvisa hårdlänk- eller andra alias av källfilen

PDF-exporteraren inaktiverar AutoLaunch, lämnar indatadokumenten och källfilen oförändrade och kontrollerar avbrott före inläsning, mellan sidor och ändringar samt före sparande

Den här hjälparen jämför extraherade formuleringar och layoutreferenser utan att härleda juridisk innebörd, känna igen skannad text eller intyga en reviderings juridiska verkan

Relaterade API:er

HPDFCompareContracts · THPDFContractCompareOptions · THPDFContractCompareReport · HPDFContractReviewHTML · HPDFSaveContractAnnotatedPDF