GroupDocs.Comparison for .NET je knihovna C#, která vám umožňuje porovnávat dokumenty a nacházet rozdíly. Porovnejte a sloučte Microsoft Word, Excel, PowerPoint, OpenDocument, PDF, Text, HTML a mnoho dalších dokumentů, načtěte seznam změn mezi zdrojovým a cílovým dokumentem(y), použijte nebo odmítněte změny a uložte výsledky pomocí GroupDocs .Porovnání API. Kromě toho může GroupDocs.Comparison identifikovat změny stylů a formátování – jako je tučné písmo, kurzíva, podtržení, přeškrtnutí, typy písem atd.

Algoritmy detekce změn používané GroupDocs.Comparison umožňují detekovat rozdíly v různých částech a blocích dokumentu:

  • Textové bloky - odstavce, slova a znaky;
  • Stoly;
  • Snímky;
  • Tvary atd.

Zde jsou jednoduché kroky k porovnání dvou textových souborů a zobrazení rozdílů:

  • Vytvořit instanci Comparer objektu s cestou zdrojového dokumentu nebo streamem;
  • Vyvolejte metodu Add a zadejte cílovou cestu dokumentu nebo stream;
  • Volejte metodu Porovnat.

Následující fragment kódu ukazuje nejjednodušší případ porovnání dokumentů pomocí několika řádků kódu.

Porovnejte dokumenty z místního souboru

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare(“result.docx”);
}

Porovnejte dokumenty ze streamu

using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”)))
{
    comparer.Add(File.OpenRead(“target.docx”));
    comparer.Compare(File.Create(“result.docx”));
}

Řekněme, že máte dvě smlouvy ve formátu DOCX, které byly uzavřeny v různých letech. Pokud použijete výše uvedený kód k porovnání těchto smluv, získáte soubor DOCX, kde jsou odstraněné prvky označeny červeně, přidané modře a upravené zeleně, jak je znázorněno níže:

Přijmout nebo odmítnout zjištěné rozdíly

GroupDocs.Comparison poskytuje možnost použít nebo zrušit specifické změny mezi zdrojovými a cílovými dokumenty a uložit výsledný dokument s vybranými změnami (nebo bez nich).

Následují kroky k použití/odmítnutí změn ve výsledném dokumentu.

Následující ukázka kódu ukazuje, jak přijmout/odmítnout zjištěné rozdíly.

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(File.Create(“result.docx”), new SaveOptions(), new ApplyChangeOptions() { Changes = changes });
}

Generování náhledu stránek dokumentu

GroupDocs.Comparison umožňuje generovat náhledy stránek pro zdrojový, cílový a výsledný dokument(y) pomocí metody GeneratePreview třídy Document.

Třída PreviewOptions se používá ke správě procesu generování náhledu – zadejte požadovaná čísla stránek, formát obrázku atd.

Následují kroky ke generování náhledu dokumentu pomocí GroupDocs.Comparison API:

  • Vytvořte novou instanci třídy Comparer a předejte cestu ke zdrojovému dokumentu jako parametr konstruktoru;
  • Přidejte cílový dokument(y) k porovnání pomocí metody Add;
  • Zdroj and Targets properties of Comparer object allows to access source and target documents and provides GeneratePreview method;
  • Vytvořte instanci objektu PreviewOptions pomocí:
    • delegovat pro každé vytvoření streamu stránky (viz obsluha události CreatePageStream);
    • formát náhledu obrázku - PNG / JPG / BMP;
    • čísla stránek ke zpracování;
    • vlastní velikost náhledových obrázků (v případě potřeby).
  • Zavolejte metodu GeneratePreview dokumentu Source a Targets a předejte mu PreviewOptions.

Získejte náhledy stránek pro výsledný dokument

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare(“result.docx”);
    Document document = new Document(File.OpenRead(“result.docx”));
    PreviewOptions previewOptions = new PreviewOptions(pageNumber =>
    {
        var pagePath = Path.Combine(“C:\\”, $"result\_{pageNumber}.png");
        return File.Create(pagePath);
    });
    previewOptions.PreviewFormat = PreviewFormats.PNG;
    previewOptions.PageNumbers = new int[] { 1, 2 };
    document.GeneratePreview(previewOptions);
}

Porovnejte více dokumentů

GroupDocs.Comparison umožňuje porovnání více než dvou dokumentů. Následující ukázka kódu ukazuje, jak programově porovnat více dokumentů.

using (Comparer comparer = new Comparer(“source.docx”)
{
    comparer.Add(“target1.docx”);
    comparer.Add(“target2.docx”);
    comparer.Add(“target3.docx”);
    comparer.Compare(“result.docx”);
}

Instalace

NuGet je nejjednodušší způsob, jak stáhnout a nainstalovat GroupDocs.Comparison for .NET. Prosím získejte dočasnou licenci k testování knihovny bez jakýchkoli funkčních omezení.

Další informace o knihovně naleznete v dokumentaci. Nabízíme také bezplatnou technickou podporu, takže neváhejte kontaktujte nás – rádi vám pomůžeme.