Poređenje ugovora

HPDFContractCompare poredi semantički tekst i geometriju redova dva učitana PDF dokumenta, poravnava pasuse i vraća revizibilne record-e za umetanje, brisanje, zamenu i pomeranje

Ovaj helper koristite za pregled formulacija i klauzula, a THPDFDocComparison za razlike stranica, objekata i rendera

Poređenje učitanih ugovora

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;

Sačuvajte vraćeni HTML u UTF-8 i pogledajte Report.Status i Report.Note kada poredbena funkcija vrati false

Poravnanje pasusa i izmene

Reference stranica i geometrije

PageIndex i ParagraphIndex su zero-based, dok je CharacterStart one-based UTF-16 pozicija unutar pasusa sa normalizovanim whitespace-om

Odsutna strana umetanja ili brisanja celog pasusa ima indekse stranice i pasusa -1, a umetanje ili brisanje tokena unutar uparenog pasusa zadržava poziciju dužine nula na suprotnoj strani

Svaki pravougaonik nosi sopstveni indeks stranice i pokriva jedan presečeni semantički red u PDF korisničkom prostoru, a pasus koji prelazi preko stranica može imati pravougaonike na više stranica

Lokacije opisuju pokrivenost reda, a ne tačne četvorougle znakova, pa anotirani PDF može da istakne isti red za nekoliko nezavisnih izmena reči

Isključivanje ponavljajućih elemenata stranice i boilerplate-a

Podrazumevano se isključuju poklapani semantički redovi koji se pojavljuju u gornjih ili donjih 54 point-a na najmanje dve različite stranice svakog ulaza, a cifre na marginama se normalizuju da se ponovljeni brojevi stranica mogu poklopiti

Dokumenti pre i posle filtriraju se nezavisno, a ponavljanja u glavnom sadržaju ostaju podobna za poređenje bez obzira na to koliko puta se pojave

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 uklanja kompletan semantički red po literalnoj jednakosti nakon normalizacije whitespace-a, poštuje IgnoreCase i nikada ne tumači regularne izraze ni obrasce po podstringu

Margine i isključenja birajte pažljivo, jer se datumi ili drugi ugovorni tekst unutar isključenog ponavljajućeg margin reda izostavljaju iz pregleda formulacije

Budžeti i otkazivanje

OpcijaPodrazumevanoOpseg
MaxPages500Svaki dokument
MaxParagraphs4000Svaki dokument posle isključenja
MaxSemanticLines50000Zbirni semantički redovi pre snimaka i isključenja
MaxCharacters2000000Zbirni izdvojeni tekst redova pre isključenja
MaxTokens200000Zbirni tokeni reči i, u režimu rečenica, tokeni rečenica
MaxDifferences10000Vraćeni record-i, uključujući pomeranja
MaxAlignmentCells2000000Kumulativne token matrice izmenjenih pasusa
MaxWorkUnits50000000Evidencija izdvajanja i rad poravnanja

Dosezanje granice budžeta vraća ccsBudgetExceeded, a otkazivanje ccsCancelled, pri čemu se delimični nalazi zadržavaju za dijagnostiku i u HTML-u označavaju kao nepotpuni

Otkazivanje se proverava između izdvajanja stranica i kroz sve poravnavajuće petlje u vlasništvu biblioteke, dok osnovni semantički izdvač za jednu stranicu ostaje sinhron

ccsInvalidInput prijavljuje dokumente koji nedostaju, neispravne enum ordinale ili neispravne opcije, a ccsExtractionFailed stranice bez izdvojivog teksta ili neuspelo semantičko izdvajanje

Za poređenje stranica bez izdvojivog teksta potreban je OCR ili eksplicitno uklanjanje praznih stranica, a ccsComplete potvrđuje samo dovršenost ovog poređenja teksta

Artefakti za pregled

HPDFContractReviewHTML vraća samostalan dokument sa escape-ovanim naslovom, porukama, tekstom, kompletnim kontekstima pasusa, vrstama izmena i obe izvorne lokacije, uz podrazumevano ograničenje izlaza od 8388608 UTF-16 znakova

HTML eksporter podiže EHPDFContractCompareBudget kada izlaz prekorači konfigurisano ograničenje, a njegov token za otkazivanje podiže EHPDFOperationCancelled

HPDFSaveContractAnnotatedPDF zahteva dovršen izveštaj, učitava odvojen izvorni dokument i proverava svaki semantički snimak stranice uključujući tačnu geometriju redova pre dodavanja isticanja sa numerisanim komentarima za pregled

Navedite različite izvorne i izlazne putanje, izaberite ccsBefore ili ccsAfter i izvezite obe verzije kada treba zajedno da pregledate brisanja i umetanja celih pasusa

Na Windows-u identiteti izvorne i izlazne datoteke proveravaju se da bi se odbili hard-link ili drugi alias-i izvorne datoteke

PDF eksporter isključuje AutoLaunch, ostavlja ulazne dokumente i izvornu datoteku nepromenjene i proverava otkazivanje pre učitavanja, između stranica i izmena i pre čuvanja

Ovaj helper poredi izdvojene formulacije i reference rasporeda bez izvođenja pravnog značenja, prepoznavanja skeniranog teksta ili potvrđivanja pravnog dejstva revizije

Povezani API-ji

HPDFCompareContracts · THPDFContractCompareOptions · THPDFContractCompareReport · HPDFContractReviewHTML · HPDFSaveContractAnnotatedPDF