Confronta i documenti di Word ed evidenzia le differenze usando Java

Puoi confrontare facilmente due o più documenti di Word ed evidenziare le differenze a livello di codice. Potrebbe essere necessario confrontare più versioni dello stesso file Word o file diversi per le differenze e le somiglianze nell’applicazione Java. In questo articolo imparerai come confrontare due o più documenti Word ed evidenziare le differenze usando Java.

I seguenti argomenti sono discussi/trattati in questo articolo:

API Java per confrontare documenti Word

Userò GroupDocs.Comparison for Java API per confrontare i documenti DOCX. Confronta per rilevare le modifiche al contenuto di parole, paragrafi e caratteri fornendo al contempo un documento di confronto che elenca un riepilogo 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 il JAR dell’API o semplicemente aggiungere la seguente configurazione pom.xml nella tua applicazione Java basata su Maven per provare gli esempi di codice indicati di seguito.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>21.6</version> 
</dependency>

Confronta i documenti di Word usando Java

Puoi confrontare due o più documenti Word seguendo i semplici passaggi indicati di seguito:

  1. Crea un’istanza della classe Comparer.
  2. Fornire al costruttore il percorso del file DOCX di origine
  3. Aggiungi file DOCX di destinazione al confronto
  4. Chiama il metodo Compare() insieme al percorso del file di output

L’esempio di codice seguente mostra come confrontare i documenti di Word ed evidenzia le differenze usando Java.

// inizializzare il comparatore
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// aggiungi il file di destinazione
comparer.add("C:\\Files\\target.docx");

// confronta e salva confronta i risultati
comparer.compare("C:\\Files\\result.docx");
Documenti Word di origine e di destinazione

Documenti di origine e di destinazione

Confronta due documenti Word usando Java

Confronta due documenti Word usando Java

Il documento risultante include anche una pagina di riepilogo alla fine del documento. Mostra il riepilogo di tutte le modifiche.

La classe Comparer è la classe principale che controlla il processo di confronto dei documenti. Il metodo Compare() di questa classe confronta i documenti di origine e di destinazione. Questo metodo salva i risultati nel percorso del file fornito come parametro di input. 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("target2.docx");
comparer.Add("target3.docx");

Ottieni il testo delle modifiche utilizzando Java

Puoi ottenere il testo delle modifiche a livello di codice seguendo i semplici passaggi indicati di seguito:

  1. Crea un’istanza della classe Comparer.
  2. Fornire al costruttore il percorso del file DOCX di origine
  3. Aggiungi file DOCX di destinazione al confronto
  4. Chiama il metodo Compare().
  5. Chiama il metodo getChanges() e ottieni i dettagli delle modifiche
  6. Mostra le modifiche

L’esempio di codice seguente mostra come ottenere il testo delle modifiche utilizzando Java.

// inizializzare il comparatore
Comparer confrontarer = new Comparer("C:\\Files\\source.docx");

// aggiungi il file di destinazione
confrontarer.add("C:\\Files\\target.docx");

// confrontare
final Path resultPath = confrontarer.confrontare();

// ottenere modifiche
ChangeInfo[] changes = confrontarer.getChanges();
System.out.println("Count of changes: " + changes.length);

for (ChangeInfo change : changes) {
    System.out.printf("Change Type: %d, Text: %s%n", change.getType(), change.getText());
}
Count of changes: 10
Change Type: 2, Text: 
Change Type: 2, Text:  Company  HYPERLINK "http://www.aspose.com/" Aspose Pty Ltd Division GroupDocs 
Change Type: 2, Text: 
Change Type: 2, Text: Cool 
Change Type: 3, Text: test 
Change Type: 2, Text:  
Change Type: 2, Text: signatures
Change Type: 2, Text: Our 
Change Type: 2, Text: char&#091;
Change Type: 2, Text: 255] 

Puoi 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 fornisce metodi per ottenere i dettagli delle modifiche come getText() per ottenere il testo di una modifica specifica.

Confronta i segnalibri nei documenti di Word

Puoi confrontare i segnalibri presenti nei documenti di Word a livello di codice seguendo i semplici passaggi indicati di seguito:

  1. Crea un’istanza della classe Comparer.
  2. Fornire al costruttore il percorso del file DOCX di origine
  3. Aggiungi file DOCX di destinazione al confronto
  4. Crea un’istanza di CompareOptions
  5. Imposta CompareBookmarks su true
  6. Chiama il metodo Compare() insieme al percorso del file di output e all’oggetto CompareOptions

L’esempio di codice seguente mostra come confrontare i segnalibri nei documenti di Word utilizzando Java.

// inizializzare il comparatore
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// aggiungi il file di destinazione
comparer.add("C:\\Files\\target.docx");

// definire le opzioni di confronto
CompareOptions compareOptions = new CompareOptions();
compareOptions.setCompareBookmarks(true);

// confronta e salva confronta i risultati
comparer.compare("C:\\Files\\result.docx", compareOptions);
Confronta i segnalibri nei documenti di Word utilizzando Java

Confronta i segnalibri nei documenti di Word utilizzando Java

Puoi migliorare il tuo processo di confronto applicando varie opzioni di confronto. A tale scopo, la classe CompareOptions consente di impostare diverse opzioni di confronto fornendo vari metodi. Il metodo setCompareBookmarks() 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 Word ed evidenziare le differenze usando Java. Hai anche imparato come ottenere il testo delle modifiche evidenziate. Inoltre, hai imparato a confrontare i segnalibri nei documenti di Word a livello di codice. Puoi saperne di più su GroupDocs.Comparison per l’API Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche