Sommario
Installato tramite NuGet
PM> Install-Package Spire.Doc
Link correlati
Non è raro che al lavoro riceviamo due versioni di un documento Word e affrontiamo la necessità di trovare le differenze tra di loro. Il confronto dei documenti è particolarmente importante e popolare nei settori delle leggi, dei regolamenti e dell'istruzione. In questo articolo imparerai a confrontare due documenti Word in C# e VB.NET utilizzando Spire.Doc for .NET.
- Confronta due documenti e salva il risultato in un documento di terza parola
- Confronta due documenti e restituisci inserimenti ed eliminazioni negli elenchi
Di seguito è riportato uno screenshot dei due documenti di Word che verranno confrontati.
Installa Spire.Doc for .NET
Per cominciare, è necessario aggiungere i file DLL inclusi nel pacchetto Spire.Doc for .NET come riferimenti nel progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.
PM> Install-Package Spire.Doc
Confronta due documenti e salva il risultato in un documento di terza parola
Il salvataggio del risultato del confronto in un documento Word separato ci consente di vedere tutte le modifiche apportate al documento originale, inclusi inserimenti, eliminazioni e modifiche alla formattazione. Di seguito sono riportati i passaggi per confrontare due documenti e salvare il risultato in un terzo documento di Word utilizzando Spire.Doc for .NET.
- Carica due documenti Word separatamente durante l'inizializzazione degli oggetti Document.
- Confronta questi due documenti usando il metodo Document.Compare().
- Salva il risultato in un terzo documento Word usando il metodo ;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(); } } }
Confronta due documenti e restituisci inserimenti ed eliminazioni negli elenchi
Gli sviluppatori potrebbero voler ottenere solo gli inserimenti e le eliminazioni anziché tutte le differenze. Di seguito sono riportati i passaggi per ottenere inserimenti ed eliminazioni in due elenchi separati.
- Carica due documenti Word separatamente durante l'inizializzazione degli oggetti Document.
- Confronta due documenti utilizzando il metodo Document.Compare().
- Ottenere le revisioni utilizzando la funzione di costruzione della classe DifferRevisions ;.
- Ottenere un elenco di inserimenti tramite la proprietà DifferRevisions.InsertRevisions.
- Ottenere un elenco di eliminazioni tramite la proprietà ifferRevisions.DeleteRevisionsD.
- Scorri gli elementi nei due elenchi per ottenere l'inserimento e l'eliminazione specifici.
- 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(); } } }
Richiedi una licenza temporanea
Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni delle funzioni, per favore richiedere una licenza di prova di 30 giorni per te.