De GroupDocs.Comparison for .NET is een C#-bibliotheek waarmee u documenten kunt vergelijken en verschillen kunt vinden. Vergelijk en voeg Microsoft Word, Excel, PowerPoint, OpenDocument, PDF, Tekst, HTML en vele andere documenten samen, haal een lijst met wijzigingen tussen bron- en doeldocument(en) op, pas wijzigingen toe of wijs ze af en sla resultaten op met GroupDocs .Vergelijkings-API. Daarnaast kan GroupDocs.Comparison stijl- en opmaakveranderingen identificeren - zoals vet, cursief, onderstrepingen, doorhalingen, lettertypen, enz.
Algoritmen voor het detecteren van wijzigingen die worden gebruikt door GroupDocs.Comparison maken het mogelijk om verschillen in verschillende documentdelen en -blokken te detecteren:
- Tekstblokken - alinea’s, woorden en tekens;
- Tafels;
- Afbeeldingen;
- Vormen enz.
Hier zijn eenvoudige stappen om twee tekstbestanden te vergelijken en verschillen te tonen:
- Instantieer Comparer-object met brondocumentpad of -stroom;
- Roep de methode Toevoegen aan en specificeer het doeldocumentpad of de doelstroom;
- Roep de methode Vergelijken aan.
Het volgende codefragment demonstreert het eenvoudigste geval van documentvergelijking met behulp van een paar regels code.
Vergelijk documenten uit lokaal bestand
using (Comparer comparer = new Comparer(“source.docx”))
{
comparer.Add(“target.docx”);
comparer.Compare(“result.docx”);
}
Vergelijk documenten uit de stream
using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”)))
{
comparer.Add(File.OpenRead(“target.docx”));
comparer.Compare(File.Create(“result.docx”));
}
Stel, u heeft twee contracten in DOCX-formaat die in verschillende jaren zijn afgesloten. Als u de bovenstaande code gebruikt om deze contracten te vergelijken, krijgt u een DOCX-bestand waarin de verwijderde elementen in rood zijn gemarkeerd, de toegevoegde in blauw en de gewijzigde in groen, zoals hieronder weergegeven:
Accepteer of verwerp gedetecteerde verschillen
GroupDocs.Comparison biedt de mogelijkheid om specifieke wijzigingen tussen bron- en doeldocumenten toe te passen of te negeren en het resulterende document met (of zonder) geselecteerde wijzigingen op te slaan.
Hieronder volgen de stappen voor het toepassen/afwijzen van wijzigingen in het resulterende document.
- Instantieer Comparer-object met brondocumentpad of -stroom;
- Roep de Add-methode aan en specificeer het pad, het doeldocumentpad of de stream;
- Roep de methode Vergelijken aan;
- Roep de methode GetChanges aan en verkrijg de lijst met gedetecteerde wijzigingen;
- Stel ComparisonAction van het benodigde wijzigingsobject in op de waarde ComparisonAction.Accept of ComparisonAction.Reject;
- Roep de methode ApplyChanges aan en geef de verzameling wijzigingen door.
Het volgende codevoorbeeld laat zien hoe u gedetecteerde verschillen accepteert/afwijst.
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 });
}
Voorbeeld van documentpagina’s genereren
Met GroupDocs.Comparison kunnen paginavoorbeelden worden gegenereerd voor bron-, doel- en resulterende document(en) met behulp van de GeneratePreview-methode van een Document-klasse.
De klasse PreviewOptions wordt gebruikt om het proces voor het genereren van voorvertoningen te beheren - geef de gewenste paginanummers, afbeeldingsindeling enz. op.
Hieronder volgen de stappen om een documentvoorbeeld te genereren met GroupDocs.Comparison API:
- Maak een nieuwe instantie van de klasse Comparer en geef het brondocumentpad door als constructorparameter;
- Doeldocument(en) aan vergelijking toevoegen met behulp van de methode Toevoegen;
- Bron and Targets properties of Comparer object allows to access source and target documents and provides GeneratePreview method;
- Instantieer het PreviewOptions-object met:
- delegeren voor elke creatie van een paginastream (zie gebeurtenishandler CreatePageStream);
- afbeeldingsvoorbeeldformaat - PNG / JPG / BMP;
- paginanummers om te verwerken;
- aangepast formaat van voorbeeldafbeeldingen (indien nodig).
- Roep de methode GeneratePreview van het document Source en Targets aan en geef er PreviewOptions aan door.
Krijg paginavoorbeelden voor het resulterende document
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);
}
Vergelijk meerdere documenten
Met GroupDocs.Comparison kunt u meer dan twee documenten vergelijken. Het volgende codevoorbeeld laat zien hoe u meerdere documenten programmatisch kunt vergelijken.
using (Comparer comparer = new Comparer(“source.docx”)
{
comparer.Add(“target1.docx”);
comparer.Add(“target2.docx”);
comparer.Add(“target3.docx”);
comparer.Compare(“result.docx”);
}
Installatie
NuGet is de gemakkelijkste manier om GroupDocs.Comparison for .NET te downloaden en te installeren. Schaf een tijdelijke licentie aan om de bibliotheek te testen zonder functionele beperkingen.
Raadpleeg de documentatie voor meer informatie over de bibliotheek. We bieden ook gratis technische ondersteuning, dus neem gerust contact met ons op - we helpen u graag verder.