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#.
Diskutují se zde následující témata:
- Porovnání dokumentů .NET API
- Porovnejte dva dokumenty Word
- Přijmout nebo odmítnout identifikované změny v dokumentu aplikace Word
- Porovnejte více než dva dokumenty aplikace Word
- Porovnejte soubory Word chráněné heslem
.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.