Dokumenty pro zpracování textu jsou nejběžnějším způsobem, jak navrhovat smlouvy, dohody, dokumenty a mnoho dalších oficiálních dokumentů. Pokud potřebujete porovnat a sloučit dva dokumenty aplikace Word, stejně jako možnost sledování změn v aplikaci Microsoft Word, můžeme to provést programově v rámci našich aplikací .NET. V tomto článku probereme, jak porovnat dva dokumenty Wordu a zvýraznit zjištěné rozdíly pomocí C#. Kromě toho se podíváme na to, jak porovnat dokumenty chráněné heslem, přijmout a odmítnout změny a porovnat více než dva dokumenty s příklady C#.

Porovnejte dokumenty aplikace Word a najděte rozdíly pomocí rozhraní .NET API

Diskutují se zde následující témata:

.NET API pro porovnání dokumentů aplikace Word

GroupDocs.Comparison poskytuje rozhraní .NET API, které umožňuje porovnávání a následné slučování různých dokumentů různých formátů souborů v rámci aplikace .NET. K porovnání dokumentů Wordu použiji jeho .NET API, tj. GroupDocs.Comparison for .NET.

Můžete si stáhnout DLL nebo instalační program MSI z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Comparison

Porovnejte dokumenty Word pomocí C#

Pokud máte dvě verze dokumentu, můžete dokumenty porovnat a najít jejich rozdíly (přidání, odstranění) a vytvořit nový dokument, který zobrazí všechny změny. Následují kroky k porovnání libovolných dvou dokumentů aplikace Word a zvýraznění rozdílů.

  • Načtěte první dokument aplikace Word pomocí třídy Comparer.
  • Přidejte druhý soubor do programu Comparer pomocí metody Add().
  • Porovnejte a získejte souhrn změn voláním metody Compare().

Následující kód C# ukazuje, jak porovnat dokumenty aplikace Word a získat změny ve výsledném dokumentu.

/*
 * Porovnejte dva dokumenty Word a zvýrazněte změny pomocí C#
 */
using (Comparer comparer = new Comparer("path/document.docx"))
{
    comparer.Add("path/document-ver2.docx");
    comparer.Compare("path/compared-result.docx");
}

Přijmout nebo odmítnout identifikované změny dokumentů aplikace Word pomocí C#

Podobně jako u možnosti sledování změn v MS Word můžete přijmout nebo odmítnout každou identifikovanou změnu. Následují kroky k porovnání a následnému přijetí nebo odmítnutí identifikovaných změn v dokumentech aplikace Word.

  • Načtěte zdrojový dokument a přidejte cílové dokumenty aplikace Word pomocí třídy Comparer.
  • Proveďte porovnání načtených dokumentů pomocí metody Compare().
  • Získejte identifikované změny pomocí metody GetChanges().
  • Nyní můžete procházet změny a nastavit ComparisonAction pro každou změnu.
    • Pro každou změnu můžete vybrat Přijmout nebo Odmítnout.
  • Až budete se změnami hotovi, zavolejte metodu ApplyChanges(), abyste získali výsledný dokument s aplikovanými změnami.

Následující zdrojový kód C# porovná dva dokumenty aplikace Word a poté přijme identifikovanou změnu a poté odmítne další.

/*
 * Přijměte a odmítněte identifikované změny porovnáním dokumentů Word pomocí C#
 */
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
    comparer.Add("path/document-2.docx");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // Odmítne první identifikovanou změnu a nebude přidána do výsledného dokumentu
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges("path/rejected-change-result.docx", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });

    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/accepted-change-result.docx", new ApplyChangeOptions { Changes = changes });
}

Porovnejte více než dva dokumenty pomocí C#

Podobně lze porovnat více než dva dokumenty najednou. Následují kroky k porovnání rozdílů mezi více dokumenty aplikace Word a zvýraznění zjištěných změn.

  • Načtěte první dokument aplikace Word pomocí třídy Comparer.
  • Pokračujte v přidávání dalších dokumentů do Compareru pomocí metody Add().
  • Voláním metody Compare() získáte změny a souhrn změn.

Následující kód C# ukazuje, jak porovnat více než dva dokumenty aplikace Word a získat změny ve výsledném dokumentu.

/*
 * Porovnejte více dokumentů Word pomocí C#
 */
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
    comparer.Add("path/document-2.docx");
    comparer.Add("path/document-3.docx");
    comparer.Add("path/document-4.docx");

    comparer.Compare("path/compare-result.docx");
}

Porovnání dokumentů Word chráněných heslem pomocí C#

Pokud jsou vaše dokumenty chráněny heslem, stačí zadat jejich heslo při načítání dokumentů. Následující kroky ukazují, jak můžeme porovnat obsah heslem chráněných dokumentů pomocí C#.

  • Připravte možnosti načítání pro zdrojové a cílové dokumenty zadáním hesla.
  • Načtěte zdrojový dokument pomocí třídy Comparer.
  • Přidejte cílový dokument do Compareru pomocí připravených možností načítání.
  • Získejte souhrn rozdílů voláním metody Compare().

Následující příklad kódu C# porovnává dva soubory Wordu chráněné heslem a generuje výsledný dokument, který zdůrazňuje rozdíly.

/*
 * Porovnejte dokumenty Word chráněné heslem pomocí C#
 */
using (Comparer comparer = new Comparer("path/protected-document-1.docx", new LoadOptions(){ Password = "SourceFilePassword" }))
{
    comparer.Add("path/protected-document-2.docx", new LoadOptions() { Password = "TargetFilePassword" });
    comparer.Compare("path/compared-protected-docs-result.docx");
}

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci k používání API bez omezení hodnocení.

Závěr

Na závěr jsme se naučili porovnávat dva nebo více dokumentů Word pomocí C#. Dále, po zvýraznění rozdílů, jsme se naučili programově přijímat a odmítat identifikované změny. Na závěr jsme také diskutovali o tom, jak bychom mohli porovnat heslem chráněné dokumenty Wordu v aplikacích .NET.

Existuje mnoho dalších přizpůsobení pro kontrolu výsledků srovnání, jako je nastavení citlivosti srovnání, zobrazení pouze stránky souhrnu, ignorování mezer a mnoho dalšího. Další informace o GroupDocs.Comparison for .NET. Navštivte jeho dokumentaci a začněte vytvářet své vlastní aplikace pro porovnávání dokumentů pro různé podporované formáty dokumentů. V případě dotazů nás kontaktujte prostřednictvím fóra.

Viz také