
Confronta due o più documenti di Word usando C#
È possibile confrontare facilmente due o più documenti di Word o confrontare più versioni dello stesso file di Word per le differenze e le somiglianze a livello di codice nelle applicazioni .NET. In questo articolo imparerai come confrontare due o più documenti di Word ed evidenziare le differenze usando C#.
I seguenti argomenti sono discussi/trattati in questo articolo:
- API C# per confrontare i file DOCX
- Confronta due o più documenti di Word usando C#
- Confronta i documenti di Word usando Stream in C#
- Ottieni il testo delle modifiche usando C#
- Confronto delle proprietà dei documenti utilizzando C#
- Confronta documenti Word protetti da password usando C#
- Confronta i segnalibri nei documenti di Word usando C#
API C# per confrontare i file DOCX
Per confrontare due o più file DOCX, utilizzerò GroupDocs.Comparison for .NET API. Confronta due o più documenti e rileva le modifiche nel contenuto dei documenti per parole, paragrafi e caratteri. Di conseguenza, produce un documento di confronto che evidenzia le differenze ed elenca una sintesi delle differenze. Consente inoltre di rilevare le modifiche e le differenze nello stile del testo tra formati di documenti simili. L’API supporta il confronto di tutti i formati di documenti standard del settore come PDF, HTML, Word, Excel, PowerPoint, e-mail di Outlook, diagrammi di Visio, OpenDocument, AutoCAD e immagini.
Puoi scaricare la DLL dell’API o installarla utilizzando NuGet.
Install-Package GroupDocs.Comparison
Confronta due o più documenti di Word usando C#
Puoi confrontare due o più documenti di Word a livello di codice seguendo i semplici passaggi indicati di seguito:
- Crea un’istanza della classe Comparer con il percorso del file DOCX di origine
- Chiama il metodo Add() con il file DOCX di destinazione da aggiungere al confronto
- Ripetere il passaggio precedente per aggiungere più file a confronto
- Chiama il metodo Compare() con il percorso del file di output
L’esempio di codice seguente mostra come confrontare due o più documenti di Word ed evidenzia le differenze usando C#.
// inizializzare il comparatore
Comparer comparer = new Comparer("C:\\Files\\source.docx");
// aggiungi il file di destinazione da confrontare
comparer.Add("C:\\Files\\target.docx");
// confrontare e salvare le differenze
comparer.Compare("C:\\Files\\result.docx");

File DOCX di origine e di destinazione

Confronta due o più documenti di Word usando C#
Il documento risultante include anche una pagina di riepilogo alla fine del documento che mostra il riepilogo di tutte le modifiche riscontrate nel confronto.
La classe Comparer è la classe principale che consente di controllare ed eseguire il processo di confronto. Fornisce diversi metodi per confrontare due o più documenti. Il metodo Add() di questa classe aggiunge un file al processo di confronto. Puoi facilmente aggiungere più file al confronto usando il metodo Add() come mostrato di seguito:
comparer.Add("target1.docx");
comparer.Add("target2.docx");
comparer.Add("target3.docx");
Il metodo Compare() della classe Comparer confronta i documenti di origine e di destinazione. Questo metodo evidenzia le differenze e salva i risultati nel percorso del file fornito come parametro di input.
Confronta i documenti di Word usando Stream in C#
Puoi confrontare due o più documenti Word utilizzando FileStream seguendo i passaggi indicati di seguito:
- Leggi il file di origine in un oggetto Stream
- Leggi il file di destinazione in un altro oggetto Stream
- Crea un’istanza della classe Comparer con l’oggetto Stream di origine
- Chiama il metodo Add() con l’oggetto Stream di destinazione da aggiungere al confronto
- Chiama il metodo Compare() con il percorso del file di output
L’esempio di codice seguente mostra come confrontare i documenti di Word usando FileStream in C#.
// leggere i file di origine e di destinazione
using (Stream sourceStream = File.OpenRead("C:\\Files\\source.docx"))
using (Stream targetStream = File.OpenRead("C:\\Files\\target.docx"))
{
// inizializzare il comparatore
using (Comparer comparer = new Comparer(sourceStream))
{
// aggiungi il flusso di file di destinazione da confrontare
comparer.Add(targetStream);
// confrontare e salvare le differenze
comparer.Compare(File.Create("C:\\Files\\result.docx"));
}
}
Ottieni il testo delle modifiche usando C#
Puoi ottenere il testo delle modifiche riscontrate nel confronto di documenti Word in modo programmatico seguendo i semplici passaggi riportati di seguito:
- Crea un’istanza della classe Comparer con il percorso del file DOCX di origine
- Chiama il metodo Add() con il file DOCX di destinazione da aggiungere al confronto
- Ripetere il passaggio precedente per aggiungere più file a confronto
- Chiama il metodo Compare().
- Chiama il metodo GetChanges() per ottenere i dettagli delle modifiche
- Mostra le modifiche
L’esempio di codice seguente mostra come ottenere il testo delle modifiche usando C#.
// inizializzare il comparatore
Comparer confrontarer = new Comparer("C:\\Files\\source.docx");
// aggiungi il file di destinazione da confrontare
confrontarer.Add("C:\\Files\\target.docx");
// confrontare
confrontarer.Compare();
// ottenere modifiche
ChangeInfo[] changes = confrontarer.GetChanges();
Console.WriteLine("Count of changes: " + changes.Length);
// mostra i cambiamenti
foreach (ChangeInfo change in changes)
{
Console.WriteLine("Change Type: " + change.Type + ", Text: " + change.Text);
}
Count of changes: 10
Change Type: Inserted, Text:
Change Type: Inserted, Text: Company ‼ HYPERLINK "http://www.aspose.com/" ¶Aspose Pty Ltd§ Division GroupDocs
Change Type: Inserted, Text:
Change Type: Inserted, Text: Cool
Change Type: Deleted, Text: test
Change Type: Inserted, Text:
Change Type: Inserted, Text: signatures
Change Type: Inserted, Text:
Change Type: Deleted, Text: Customers
Change Type: Deleted, Text: GroupDocs is used by companies of all sizes across the globe, from large multinational firms to small freelance businesses. They come to us because they have a need for a simple, one-stop-shop, document management solution.
È possibile ottenere un elenco delle modifiche tra i file di origine e di destinazione chiamando il metodo GetChanges() della classe Comparer. Restituisce un elenco di oggetti ChangeInfo. La classe ChangeInfo rappresenta le informazioni sulle modifiche e fornisce varie proprietà per ottenere i dettagli delle modifiche come Text, Type, ecc.
Confronto delle proprietà dei documenti utilizzando C#
Puoi confrontare le proprietà predefinite e personalizzate e le proprietà variabili dei documenti di Word a livello di codice seguendo i passaggi indicati di seguito:
- Crea un’istanza della classe Comparer con il percorso del file DOCX di origine
- Chiama il metodo Add() con il file DOCX di destinazione da aggiungere al confronto
- Ripetere il passaggio precedente per aggiungere più file a confronto
- Crea un’istanza di CompareOptions
- Impostare CompareVariableProperty su true
- Impostare CompareDocumentProperty su true
- Chiama il metodo Compare() con il percorso del file di output e CompareOptions
Nell’esempio di codice seguente viene illustrato come confrontare le proprietà dei documenti usando C#.
// inizializzare il comparatore
Comparer confrontarer = new Comparer("C:\\Files\\source.docx");
// aggiungi il file di destinazione da confrontare
confrontarer.Add("C:\\Files\\target.docx");
// definire le opzioni di confronto
CompareOptions options = new CompareOptions();
options.CompareVariableProperty = true; // activate the comparison of variable properties
options.CompareDocumentProperty = true; // activate the comparison of built and custom properties
// confrontare
confrontarer.Compare("C:\\Files\\result.docx", options);

Confronto delle proprietà dei documenti utilizzando C#
Puoi migliorare il tuo processo di confronto applicando varie opzioni di confronto. A tale scopo, la classe CompareOptions consente di impostare varie opzioni di confronto per ottenere risultati specifici. Il CompareDocumentProperty di questa classe consente di attivare il confronto delle proprietà predefinite e personalizzate in formato Word. CompareVariableProperty consente di attivare il confronto delle proprietà delle variabili in formato Word.
Confronta documenti Word protetti da password usando C#
Puoi confrontare due o più documenti Word protetti da password a livello di codice seguendo i passaggi indicati di seguito:
- Crea un’istanza della classe LoadOptions.
- Fornire la password per il file di origine
- Crea un’istanza della classe Comparer con il percorso del file DOCX di origine e LoadOptions
- Chiama il metodo Add() con il percorso del file DOCX di destinazione e l’istanza LoadOptions con la password
- Ripetere il passaggio precedente per aggiungere più file a confronto
- Chiama il metodo Compare() con il percorso del file di output
L’esempio di codice seguente mostra come confrontare i documenti di Word protetti da password usando C#.
// definire le opzioni di caricamento per il file di origine
LoadOptions sourceLoadOptions = new LoadOptions() { Password = "1234" };
// inizializzare il comparatore
Comparer confrontarer = new Comparer("C:\\Files\\source.docx", sourceLoadOptions);
// aggiungi il file di destinazione da confrontare
confrontarer.Add("C:\\Files\\target.docx", new LoadOptions() { Password = "5678" });
// confrontare
confrontarer.Compare("C:\\Files\\result.docx");
La classe LoadOptions consente di specificare opzioni aggiuntive durante il caricamento di un documento. Fornisce le seguenti proprietà per specificare:
- FontDirectories — Elenco di directory di font da caricare.
- LoadText: indica che le stringhe passate sono testo di confronto, non percorsi di file (solo per Confronto testo).
- Password — Password del documento.
Confronta i segnalibri nei documenti di Word usando C#
Puoi confrontare i segnalibri disponibili nei documenti di Word a livello di codice seguendo i passaggi indicati di seguito:
- Crea un’istanza della classe Comparer con il percorso del file DOCX di origine
- Chiama il metodo Add() con il file DOCX di destinazione da aggiungere al confronto
- Ripetere il passaggio precedente per aggiungere più file a confronto
- Crea un’istanza di CompareOptions
- Imposta CompareBookmarks su true
- Chiama il metodo Compare() con il percorso del file di output e CompareOptions
L’esempio di codice seguente mostra come confrontare i segnalibri nei documenti di Word usando C#.
// inizializzare il comparatore
Comparer confrontarer = new Comparer("C:\\Files\\source.docx");
// aggiungi il file di destinazione da confrontare
confrontarer.Add("C:\\Files\\target.docx");
// definire le opzioni di confronto
CompareOptions confrontareOptions = new CompareOptions();
confrontareOptions.CompareBookmarks = true; // confrontare bookmarks
// confrontare
confrontarer.Compare("C:\\Files\\result.docx", confrontareOptions);

Confronta i segnalibri nei documenti di Word usando C#
La proprietà CompareBookmarks consente di confrontare i segnalibri disponibili nei documenti di origine e di destinazione.
Ottieni una licenza gratuita
Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.
Conclusione
In questo articolo hai imparato a confrontare due o più documenti di Word ed evidenziare le differenze usando C#. Hai anche imparato come ottenere l’elenco delle modifiche evidenziate. Inoltre, hai imparato a confrontare i segnalibri nei documenti di Word a livello di codice. Inoltre, hai imparato a confrontare documenti Word protetti da password utilizzando C#. Puoi saperne di più su GroupDocs.Comparison per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.