Padroneggiare il confronto dei documenti in Java utilizzando l’API GroupDocs.Comparison

Introduzione

Stanco di confrontare manualmente i documenti? Che si tratti di identificare modifiche in intestazioni, piè di pagina o contenuto, il confronto dei documenti può essere un compito arduo. La libreria GroupDocs.Comparison per Java automatizza e migliora questo processo con precisione e semplicità.

Questo tutorial completo ti guiderà nell’utilizzo di GroupDocs.Comparison in Java per personalizzare gli stili di confronto dei documenti, regolare le impostazioni di sensibilità, ignorare i confronti di intestazione/piè di pagina, impostare il formato di output e altro ancora. Al termine di questa guida, sarai in grado di semplificare il tuo flusso di lavoro in modo efficiente.

Cosa imparerai:

  • Ignora intestazioni e piè di pagina durante il confronto dei documenti.
  • Personalizza le modifiche con le regolazioni di stile.
  • Regola la sensibilità del confronto per un’analisi dettagliata.
  • Imposta le dimensioni della carta in uscita nelle applicazioni Java.
  • Implementare queste funzionalità in scenari reali.

Prima di addentrarti negli aspetti pratici, assicurati di possedere i prerequisiti necessari.

Prerequisiti

Per iniziare a utilizzare GroupDocs.Comparison per Java, assicurati di avere quanto segue:

  1. Kit di sviluppo Java (JDK): Assicurati che il JDK sia installato sul tuo computer. Qualsiasi versione superiore alla 8 dovrebbe essere sufficiente.
  2. Esperto: In questo tutorial si presuppone che si utilizzi Maven per gestire le dipendenze del progetto.
  3. Libreria GroupDocs.Comparison:
    • Aggiungi la seguente dipendenza al tuo pom.xml:
<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/comparison/java/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>25.2</version>
    </dependency>
</dependencies>
  1. Licenza: Ottieni una prova gratuita, una licenza temporanea o acquista la versione completa da GroupDocs.

Dopo aver impostato quanto sopra, sei pronto per iniziare a implementare le funzionalità di confronto dei documenti nelle tue applicazioni Java.

Impostazione di GroupDocs.Comparison per Java

Assicuriamoci che il nostro ambiente sia configurato correttamente:

Installazione tramite Maven

Aggiungi il frammento XML sopra al tuo progetto pom.xmlQuesto passaggio garantisce che il repository e la dipendenza necessari vengano riconosciuti da Maven.

Acquisizione della licenza

Dopo aver ottenuto e configurato il file di licenza secondo la documentazione di GroupDocs, inizializza GroupDocs.Comparison come segue:

// Esempio di inizializzazione di base
com.groupdocs.comparison.License license = new com.groupdocs.comparison.License();
license.setLicense("path/to/your/license/file.lic");

Guida all’implementazione

Funzionalità 1: ignora il confronto intestazione/piè di pagina

Panoramica: Intestazioni e piè di pagina contengono spesso informazioni come numeri di pagina o titoli di documenti, che potrebbero non essere rilevanti ai fini del confronto delle modifiche dei contenuti.

Impostazione delle opzioni

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import java.io.FileOutputStream;

public class IgnoreHeaderFooterExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/IgnoreHeaderFooter_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_with_footer.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target_with_footer.docx");

            // Imposta le opzioni di confronto per ignorare intestazioni e piè di pagina
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setHeaderFootersComparison(false)
                    .build();

            final Path resultPath = comparer.compare(resultStream, new SaveOptions(), compareOptions);
        }
    }
}

Spiegazione

  • CompareOptions.Builder().setHeaderFootersComparison(false): Questa impostazione indica alla libreria di saltare i confronti tra intestazioni e piè di pagina.
  • try-with-resources: Assicura che tutti i flussi siano chiusi correttamente dopo l’uso.

Funzionalità 2: Imposta il formato della carta in uscita

Panoramica: La personalizzazione del formato di stampa è fondamentale per creare documenti di qualità stampabile. Ecco come modificarlo durante il confronto dei documenti.

Fasi di implementazione

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.enums.PaperSize;

public class SetOutputPaperSizeExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/SetOutputPaperSize_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");

            // Imposta il formato della carta su A6
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setPaperSize(PaperSize.A6)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

Spiegazione

  • CompareOptions.Builder().setPaperSize(PaperSize.A6): Imposta il formato della carta in uscita su A6.

Funzionalità 3: Regola la sensibilità del confronto

Panoramica: Regolare la sensibilità del confronto aiuta a identificare anche piccole variazioni. Ecco come regolarla:

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;

public class AdjustComparisonSensitivityExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/AdjustComparisonSensitivity_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");

            // Imposta la sensibilità su 100
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setSensitivityOfComparison(100)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

Spiegazione

  • CompareOptions.Builder().setSensitivityOfComparison(100): Regola il livello di sensibilità per il rilevamento delle modifiche.

Funzionalità 4: Personalizza gli stili di modifica (utilizzando i flussi)

Panoramica: La distinzione tra testo inserito, eliminato e modificato rende i confronti più intuitivi. Ecco come personalizzare gli stili utilizzando i flussi:

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.save.SaveOptions;
import com.groupdocs.comparison.options.style.StyleSettings;

import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class CustomizeChangesStylesStreamExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/CustomizeChangesStylesStream_result.docx";

        try (InputStream sourceFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/source_word.docx");
             InputStream targetFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");
             OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer(sourceFile)) {

            comparer.add(targetFile);

            // Personalizza gli stili di modifica
            StyleSettings insertedStyle = new StyleSettings();
            insertedStyle.setHighlightColor(Color.GREEN); // Verde per gli inserimenti
            StyleSettings deletedStyle = new StyleSettings();
            deletedStyle.setHighlightColor(Color.RED); // Rosso per le eliminazioni
            StyleSettings changedStyle = new StyleSettings();
            changedStyle.setHighlightColor(Color.BLUE); // Blu per i cambiamenti

            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setInsertedItemStyle(insertedStyle)
                    .setDeletedItemStyle(deletedStyle)
                    .setChangedItemStyle(changedStyle)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

Spiegazione

  • Impostazioni di stile personalizzate: Utilizzo StyleSettings per definire i colori di evidenziazione per gli inserimenti (verde), le eliminazioni (rosso) e le modifiche (blu).
  • CompareOptions.Builder(): Applica questi stili durante il processo di confronto.

Conclusione

Sfruttando GroupDocs.Comparison per Java, è possibile automatizzare il confronto dei documenti con precisione. Questo tutorial ha spiegato come ignorare intestazioni e piè di pagina, impostare i formati di output, regolare la sensibilità e personalizzare gli stili di modifica. L’implementazione di queste funzionalità semplificherà il flusso di lavoro e migliorerà l’analisi dei documenti nelle applicazioni Java.

Domande frequenti

1. Posso ignorare intestazioni e piè di pagina durante il confronto in GroupDocs per Java?

Sì, usa setHeaderFootersComparison(false) In CompareOptions per escludere intestazioni e piè di pagina dal confronto.

2. Come faccio a impostare il formato della carta in output in Java utilizzando GroupDocs?

Fare domanda a setPaperSize(PaperSize.A6) o altre dimensioni in CompareOptions per personalizzare il formato carta del documento finale.

3. È possibile regolare con precisione la sensibilità del confronto?

Sì, usa setSensitivityOfComparison() In CompareOptions per regolare la sensibilità, rilevando di conseguenza piccole o grandi variazioni.

4. Posso formattare il testo inserito, eliminato e modificato durante il confronto?

Assolutamente, personalizza gli stili tramite StyleSettings per diversi tipi di modifica e applicarli in CompareOptions.

5. Quali sono i prerequisiti per iniziare a usare GroupDocs Comparison in Java?

Installa JDK, gestisci le dipendenze con Maven, ottieni una licenza e aggiungi la libreria GroupDocs.Comparison al tuo progetto.