Cum să comparați versiunile text prin document folosind .NET

Cum să comparați versiunile text prin document folosind .NET

Compararea textului între diferite versiuni scanate ale contractelor, formularelor sau documentelor de afaceri este esențială pentru revizuirea și respectarea legii. Aspose.OCR Image Text Finder pentru .NET simplifică procesul prin extractarea și compararea automată a tekstului din mai multe imagini.

Problema lumii reale

Revizuirea manuală a modificărilor versiunii este lentă, predispusă la erori umane și nu este scalabilă – mai ales atunci când se ocupă de numeroase revizuiri ale documentelor sau contracte juridice.

Soluție de ansamblu

Automatizați comparația prin extragerea textului din două sau mai multe imagini scanate, apoi utilizați logica dif pentru a evidenția și a înregistra modificările text.

Prevederile

  • Visual Studio 2019 sau mai târziu
  • .NET 6.0 sau mai târziu (sau .Net Framework 4.6.2+)
  • Aspose.OCR pentru .NET de la NuGet
PM> Install-Package Aspose.OCR

Implementarea pas cu pas

Pasul 1: Pregătiți versiunile documentului

string original = "contract_v1.png";
string revised = "contract_v2.png";

Pasul 2: Recunoașteți și extrageți textul din imagini

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
string originalText = ocr.Recognize(new OcrInput(InputType.SingleImage) { original }, settings)[0].RecognitionText;
string revisedText = ocr.Recognize(new OcrInput(InputType.SingleImage) { revised }, settings)[0].RecognitionText;

Pasul 3: Comparați textul și evidențiați diferențele

Utilizați o bibliotecă de text diff/compare (de exemplu, DiffPlex, logica integrată) pentru a evidenția diferențele:

using DiffPlex;
using DiffPlex.DiffBuilder;
using DiffPlex.DiffBuilder.Model;

var diffBuilder = new InlineDiffBuilder(new Differ());
var diff = diffBuilder.BuildDiffModel(originalText, revisedText);
foreach (var line in diff.Lines)
{
    if (line.Type != ChangeType.Unchanged)
        Console.WriteLine($"{line.Type}: {line.Text}");
}

Pasul 4: Rezultatele comparației de înregistrare și export

  • Salvați modificările la CSV, fișier de înregistrare sau rapoartele dif citite de om
// Example: Write all changes to a report
File.AppendAllText("text_diff_report.txt", $"{line.Type}: {line.Text}\n");

Pasul 5: Controlul versiunii batch sau automat

  • Compara toate versiunile într-un folder, automat după cum este necesar

Pasul 6: Exemplu complet

using Aspose.OCR;
using DiffPlex;
using DiffPlex.DiffBuilder;
using DiffPlex.DiffBuilder.Model;
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string original = "contract_v1.png";
        string revised = "contract_v2.png";
        RecognitionSettings settings = new RecognitionSettings();
        settings.Language = Language.English;
        AsposeOcr ocr = new AsposeOcr();
        string originalText = ocr.Recognize(new OcrInput(InputType.SingleImage) { original }, settings)[0].RecognitionText;
        string revisedText = ocr.Recognize(new OcrInput(InputType.SingleImage) { revised }, settings)[0].RecognitionText;
        var diffBuilder = new InlineDiffBuilder(new Differ());
        var diff = diffBuilder.BuildDiffModel(originalText, revisedText);
        foreach (var line in diff.Lines)
        {
            if (line.Type != ChangeType.Unchanged)
                File.AppendAllText("text_diff_report.txt", $"{line.Type}: {line.Text}\n");
        }
    }
}

Folosește cazuri și aplicații

Revizuirea legii și conformității

Verifică rapid schimbările în contractele, politicile sau acordurile scanate.

Auditarea procesului de afaceri

Detectați editări neautorizate sau neapprovate în arhivele digitale.

Automatizarea managementului documentelor

Păstrați un pas de audit complet al tuturor modificărilor în versiunile documentelor scanate.

Provocări și soluții comune

Provocare 1: Erori minore de formatare sau OCR

Soluție: Tuneți setările, efectuați o revizuire manuală secundară a modificărilor marcate.

Sfârșitul 2: Seturi de documente mari

Soluție: Automatează și paralelează, înregistrează toate rezultatele pentru audit eficient.

Cuvânt cheie: Fake Positive / Negative

Soluție: Refinează algoritmul dif, validă rezultatul cu mostre din lumea reală.

Considerații de performanță

  • Logica dif poate fi lentă pe documente mari - monitorizare și optimizare
  • Stocați toate rapoartele dif în condiții de siguranță pentru conformitate
  • Utilizați setări OCR robuste pentru cea mai bună recunoaștere

Cele mai bune practici

  • Utilizați aceleași setări OCR și scanare pe toate versiunile
  • Validarea difurilor pe documente critice / cu risc ridicat
  • Înregistrați și salvați toate rapoartele
  • Compararea automată a versiunii regulate pentru documentele cheie

Scenarii avansate

Scenariul 1: evidenția diferențelor în rezultatul vizual

Generați PDF-uri/imagini înregistrate care evidențiază modificările de text detectate pentru echipele juridice.

Scenariul 2: Notificarea automată a schimbărilor critice

Trimiteți un avertisment/e-mail dacă se adaugă / se îndepărtează o clauză legală importantă.

concluziile

Aspose.OCR Image Text Finder pentru .NET permite compararea automată, scalabilă și audibilă a versiunii documentului – permițând echipelor juridice, de afaceri și de conformitate să detecteze modificări critice în fișierele scanate.

Pentru mai multe fluxuri de lucru comparative avansate, vezi Aspose.OCR pentru .NET API Referință .

 Română