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.
- Vytvořit instanci Comparer objektu s cestou zdrojového dokumentu nebo streamem;
- Zavolejte metodu Add a zadejte cestu cílovou cestu dokumentu nebo stream;
- Metoda volání Porovnat;
- Zavolejte metodu GetChanges a získejte seznam detekovaných změn;
- Nastavte ComparisonAction potřebného objektu změny na hodnotu ComparisonAction.Accept nebo ComparisonAction.Reject;
- Zavolejte metodu ApplyChanges a předejte jí kolekci změn.
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.