Inhaltsverzeichnis
Über NuGet installiert
PM> Install-Package Spire.Doc
verwandte Links
Es ist nicht ungewöhnlich, dass wir bei der Arbeit zwei Versionen eines Word-Dokuments erhalten und die Unterschiede zwischen ihnen herausfinden müssen. Besonders wichtig und beliebt ist der Dokumentenvergleich in den Bereichen Gesetze, Vorschriften und Bildung. In diesem Artikel erfahren Sie, wie Sie zwei Word-Dokumente in C# und VB.NET vergleichen durch Verwendung von Spire.Doc for .NET.
- Vergleichen Sie zwei Dokumente und speichern Sie das Ergebnis in einem dritten Word-Dokument
- Vergleichen Sie zwei Dokumente und geben Sie Einfügungen und Löschungen in Listen zurück
Unten sehen Sie einen Screenshot der beiden Word-Dokumente, die verglichen werden.
Installieren Sie Spire.Doc for .NET
Zunächst müssen Sie die im Spire.Doc for .NET-Paket enthaltenen DLL-Dateien als Referenzen in Ihrem .NET-Projekt hinzufügen. Die DLL-Dateien können entweder über diesen Link heruntergeladen oder über NuGet installiert werden.
PM> Install-Package Spire.Doc
Vergleichen Sie zwei Dokumente und speichern Sie das Ergebnis in einem dritten Word-Dokument
Durch das Speichern des Vergleichsergebnisses in einem separaten Word-Dokument können wir alle am Originaldokument vorgenommenen Änderungen sehen, einschließlich Einfügungen, Löschungen sowie Änderungen an der Formatierung. Im Folgenden finden Sie die Schritte zum Vergleichen zweier Dokumente und zum Speichern des Ergebnisses in einem dritten Word-Dokument mit Spire.Doc for .NET.
- Laden Sie zwei Word-Dokumente separat, während Sie die Dokumentobjekte initialisieren.
- Vergleichen Sie diese beiden Dokumente mit der Methode Document.Compare().
- Speichern Sie das Ergebnis in einem dritten Word-Dokument mit der Methode ;Document.SaveToFile().
- C#
- VB.NET
using Spire.Doc; namespace CompareDocuments { class Program { static void Main(string[] args) { //Load one Word document Document doc1 = new Document("C:\\Users\\Administrator\\Desktop\\original.docx"); //Load the other Word document Document doc2 = new Document("C:\\Users\\Administrator\\Desktop\\revised.docx"); //Compare two documents doc1.Compare(doc2, "John"); //Save the differences in a third document doc1.SaveToFile("Differences.docx", FileFormat.Docx2013); doc1.Dispose(); } } }
Vergleichen Sie zwei Dokumente und geben Sie Einfügungen und Löschungen in Listen zurück
Entwickler möchten möglicherweise nur die Einfügungen und Löschungen und nicht die gesamten Unterschiede erhalten. Im Folgenden finden Sie die Schritte zum Abrufen von Einfügungen und Löschungen in zwei separaten Listen.
- Laden Sie zwei Word-Dokumente separat, während Sie die Dokumentobjekte initialisieren.
- Vergleichen Sie zwei Dokumente mit der Methode Document.Compare().
- Rufen Sie die Revisionen mithilfe der Konstruktorfunktion der DifferRevisions-Klasse ab.
- Rufen Sie eine Liste der Einfügungen über die Eigenschaft „DifferRevisions.InsertRevisions“ ab.
- Rufen Sie eine Liste der Löschungen über die Eigenschaft „DifferRevisions.DeleteRevisions“ ab.
- Durchlaufen Sie die Elemente in den beiden Listen, um das spezifische Einfügen und Löschen zu erhalten.
- C#
- VB.NET
using Spire.Doc; using Spire.Doc.Fields; using System; namespace GetDifferencesInList { class Program { static void Main(string[] args) { //Load one Word document Document doc1 = new Document("C:\\Users\\Administrator\\Desktop\\original.docx"); //Load the other Word document Document doc2 = new Document("C:\\Users\\Administrator\\Desktop\\revised.docx"); //Compare the two Word documents doc1.Compare(doc2, "Author"); //Get the revisions DifferRevisions differRevisions = new DifferRevisions(doc1); //Return the insertion revisions in a list var insetRevisionsList = differRevisions.InsertRevisions; //Return the deletion revisions in a list var deletRevisionsList = differRevisions.DeleteRevisions; //Create two int variables int m = 0; int n = 0; //Loop through the insertion revision list for (int i = 0; i < insetRevisionsList.Count; i++) { if (insetRevisionsList[i] is TextRange) { m += 1; //Get the specific revision and get its content TextRange textRange = insetRevisionsList[i] as TextRange; Console.WriteLine("Insertion #" + m + ":" + textRange.Text); } } Console.WriteLine("====================="); //Loop through the deletion revision list for (int i = 0; i < deletRevisionsList.Count; i++) { if (deletRevisionsList[i] is TextRange) { n += 1; //Get the specific revision and get its content TextRange textRange = deletRevisionsList[i] as TextRange; Console.WriteLine("Deletion #" + n + ":" + textRange.Text); } } Console.ReadKey(); } } }
Beantragen Sie eine temporäre Lizenz
Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.