I documenti di elaborazione testi sono il modo più comune per redigere contratti, accordi, documenti e molti altri documenti ufficiali. Se hai bisogno di confrontare e unire due documenti Word, proprio come l’opzione di traccia modifiche di Microsoft Word, possiamo farlo a livello di codice all’interno delle nostre applicazioni .NET. In questo articolo, discuteremo come confrontare due documenti di Word ed evidenziare le differenze identificate usando C#. Inoltre, esamineremo come confrontare i documenti protetti da password, accettare e rifiutare le modifiche e confrontare più di due documenti con esempi C#.
I seguenti argomenti sono discussi qui:
- Confronto documenti API .NET
- Confronta due documenti Word
- Accetta o rifiuta le modifiche identificate nel documento di Word
- Confronta più di due documenti Word
- Confronta file di Word protetti da password
API .NET per confrontare documenti Word
GroupDocs.Comparison fornisce un’API .NET che consente di confrontare e quindi unire vari documenti di più formati di file all’interno dell’applicazione .NET. Userò la sua API .NET, ad esempio GroupDocs.Comparison for .NET, per confrontare i documenti di Word.
Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API nella tua applicazione .NET tramite NuGet.
PM> Install-Package GroupDocs.Comparison
Confronta i documenti di Word usando C#
Se disponi di due versioni di un documento, puoi confrontare i documenti per trovarne le differenze (aggiunte, eliminazioni) e creare un nuovo documento che mostri tutte le modifiche. Di seguito sono riportati i passaggi per confrontare due documenti Word qualsiasi ed evidenziare le differenze.
- Carica il primo documento di Word usando la classe Comparatore.
- Aggiungi il secondo file a Comparer usando il metodo Add().
- Confronta il riepilogo delle modifiche di get semplicemente chiamando il metodo Compare().
Il codice C# seguente mostra come confrontare i documenti di Word e ottenere le modifiche nel documento risultante.
/*
* Confronta due documenti Word e evidenzia le modifiche utilizzando C#
*/
using (Comparer comparer = new Comparer("path/document.docx"))
{
comparer.Add("path/document-ver2.docx");
comparer.Compare("path/compared-result.docx");
}
Accetta o rifiuta le modifiche identificate dei documenti di Word utilizzando C#
Simile all’opzione di traccia modifiche di MS Word, puoi accettare o rifiutare ogni modifica identificata. Di seguito sono riportati i passaggi per confrontare e quindi accettare o rifiutare le modifiche identificate all’interno dei documenti di Word.
- Carica il documento di origine e aggiungi i documenti Word di destinazione utilizzando la classe Comparatore.
- Confronta i documenti caricati usando il metodo Compare().
- Ottieni le modifiche identificate usando il metodo GetChanges().
- Ora puoi attraversare le modifiche e impostare ComparasonAction di ciascuna modifica.
- Per ogni modifica puoi selezionare Accetta o Rifiuta.
- Al termine delle modifiche, chiamare il metodo ApplyChanges() per ottenere il documento risultante con le modifiche applicate.
Il codice sorgente C# seguente confronta due documenti di Word, quindi accetta una modifica identificata e quindi ne rifiuta un’altra.
/*
* Accetta e rifiuta le modifiche identificate confrontando i documenti di Word utilizzando C#
*/
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
comparer.Add("path/document-2.docx");
comparer.Compare();
ChangeInfo[] changes = comparer.GetChanges();
// Rifiutando la prima modifica identificata e non verrà aggiunta al documento dei risultati
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 });
}
Confronta più di due documenti usando C#
Allo stesso modo, è possibile confrontare più di due documenti in una volta sola. Di seguito sono riportati i passaggi per confrontare più documenti di Word per le differenze ed evidenziare le modifiche identificate.
- Carica il primo documento di Word usando la classe Comparatore.
- Continua ad aggiungere gli altri documenti a Confronto utilizzando il metodo Add().
- Chiama il metodo Compare() per ottenere le modifiche e il riepilogo delle modifiche.
Il codice C# seguente mostra come confrontare più di due documenti di Word e ottenere le modifiche nel documento risultante.
/*
* Confronta più documenti di Word usando 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");
}
Confronta documenti Word protetti da password usando C#
Se i tuoi documenti sono protetti da password, fornisci semplicemente la loro password durante il caricamento dei documenti. I passaggi seguenti mostrano come confrontare il contenuto di documenti protetti da password utilizzando C#.
- Preparare le opzioni di caricamento per i documenti di origine e di destinazione fornendo la password.
- Carica il documento di origine usando la classe Comparatore.
- Aggiungi il documento di destinazione a Confronto utilizzando le opzioni di caricamento preparate.
- Ottieni il riepilogo delle differenze chiamando il metodo Compare().
L’esempio di codice C# seguente confronta due file di Word protetti da password e genera il documento risultante che evidenzia le differenze.
/*
* Confronta documenti Word protetti da password usando 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");
}
Ottieni una licenza API gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.
Conclusione
Per concludere, abbiamo imparato a confrontare due o più documenti di Word usando C#. Inoltre, dopo aver evidenziato le differenze, abbiamo imparato ad accettare e rifiutare programmaticamente le modifiche identificate. Alla fine, abbiamo anche discusso di come confrontare i documenti Word protetti da password all’interno delle applicazioni .NET.
Ci sono molte altre personalizzazioni per controllare i risultati del confronto, come impostare la sensibilità del confronto, mostrare solo la pagina di riepilogo, ignorare lacune e molto altro. Ulteriori informazioni su GroupDocs.Comparison for .NET. Visita la sua documentazione per iniziare a creare le tue applicazioni di confronto dei documenti per vari formati di documenti supportati. Per domande, contattaci tramite il forum.