Unire file Word programmaticamente è una necessità frequente quando si costruiscono applicazioni incentrate sui documenti, soprattutto per generare report o consolidare contratti. GroupDocs.Merger Cloud SDK for Java offre una libreria semplice, basata sul cloud, che consente di unire file DOCX senza doversi occupare della gestione a basso livello dei file. In questa guida imparerai come combinare più documenti Word in Java, vedrai un esempio di codice completo, esplorerai le chiamate cURL equivalenti e comprenderai la configurazione necessaria. Alla fine sarai pronto a integrare l’unione di documenti nei tuoi progetti Java.

Esempio completo funzionante per combinare più documenti Word in Java

Questo esempio dimostra come combinare più documenti Word in Java utilizzando l’API Merger.

import com.groupdocs.merger.cloud.client.ApiClient;
import com.groupdocs.merger.cloud.client.ApiException;
import com.groupdocs.merger.cloud.api.MergerApi;
import com.groupdocs.merger.cloud.model.FileInfo;
import com.groupdocs.merger.cloud.model.MergeOptions;
import java.util.ArrayList;
import java.util.List;

public class CombineWordDocuments {
    public static void main(String[] args) {
        // Initialize the API client with your credentials
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        MergerApi mergerApi = new MergerApi(apiClient);

try {
            // List of Word documents to combine
            List<FileInfo> sourceFiles = new ArrayList<>();
            sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input2.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input3.docx"));

// Configure merge options
            MergeOptions mergeOptions = new MergeOptions();
            mergeOptions.setOutputPath("merged_output.docx");
            mergeOptions.setFileInfos(sourceFiles);

// Execute the merge operation
            FileInfo result = mergerApi.merge(mergeOptions);

System.out.println("Merge completed successfully. Output file: " + result.getFilePath());
        } catch (ApiException e) {
            System.err.println("An error occurred while merging documents: " + e.getMessage());
        }
    }
}

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, verifica che tutte le dipendenze richieste siano installate correttamente e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Unisci file Word tramite REST API usando cURL

Se preferisci un approccio REST puro, la stessa operazione di unione può essere eseguita con chiamate cURL. I passaggi seguenti mostrano come ottenere un token di accesso, caricare i file di origine, richiedere l’unione e scaricare il risultato.

Autenticati e ottieni un token di accesso:

curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

Carica ogni file DOCX nel tuo storage cloud (sostituisci YOUR_ACCESS_TOKEN con il token del passaggio precedente):

curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input1.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
     --data-binary @input1.docx

Ripeti il comando di upload per input2.docx e input3.docx.

Crea la merge request:

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/merge" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "outputPath":"merged_output.docx",
           "fileInfos":[
               {"filePath":"input1.docx"},
               {"filePath":"input2.docx"},
               {"filePath":"input3.docx"}
           ]
         }'

Scarica il documento unito:

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/merged_output.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o merged_output.docx

Per ulteriori dettagli sui parametri della richiesta, consulta la documentazione ufficiale dell’API.

Comprendere il processo di combinazione dei documenti Word in Java

Di seguito è riportata una spiegazione passo‑passo del codice mostrato in precedenza.

  1. Crea un ApiClient - new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET") stabilisce una connessione al GroupDocs cloud service.
    ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
    
  2. Istanzia MergerApi - new MergerApi(apiClient) fornisce l’accesso agli endpoint relativi al merge.
    MergerApi mergerApi = new MergerApi(apiClient);
    
  3. Prepara l’elenco dei file di origine - Ogni oggetto FileInfo punta a un file DOCX memorizzato nel cloud. L’elenco viene passato a MergeOptions.
    List<FileInfo> sourceFiles = new ArrayList<>();
    sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
    
  4. Configura MergeOptions - Imposta il percorso di output desiderato e allega l’elenco dei file di origine.
    MergeOptions mergeOptions = new MergeOptions();
    mergeOptions.setOutputPath("merged_output.docx");
    mergeOptions.setFileInfos(sourceFiles);
    
  5. Esegui il merge - mergerApi.merge(mergeOptions) invia la richiesta e restituisce un FileInfo per il documento unito.
    FileInfo result = mergerApi.merge(mergeOptions);
    

Per un elenco completo delle proprietà disponibili, consultare il riferimento API.

Prerequisiti e configurazione per GroupDocs.Merger Cloud SDK

Prima di poter eseguire il codice, aggiungi la dipendenza Maven al tuo progetto e assicurati di avere un account GroupDocs valido.

Aggiungi l’SDK al tuo pom.xml:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger-cloud</artifactId>
    <version>25.11</version>
</dependency>

Scarica gli ultimi JAR e il codice sorgente dalla pagina di download.
Avrai inoltre bisogno di Java 8 o superiore e di accesso a Internet per le chiamate al cloud.
Crea un account GroupDocs, ottieni il tuo Client ID e Client Secret, e conservali in modo sicuro.

Conclusione

Unire file DOCX programmaticamente è ora semplice con il GroupDocs.Merger Cloud SDK for Java. Il codice di esempio e gli snippet cURL illustrano due modi flessibili per combinare più documenti Word in Java, sia che tu preferisca una libreria nativa sia chiamate REST dirette. Ricorda di configurare le credenziali, gestire i file di grandi dimensioni tramite streaming se necessario e testare l’operazione di unione con documenti rappresentativi. Per le distribuzioni in produzione è necessaria una licenza a pagamento; i dettagli dei prezzi sono disponibili nella pagina del prodotto e puoi richiedere una licenza temporanea per la valutazione dalla pagina della licenza temporanea.

FAQ

  • Come posso combinare più documenti Word in Java senza scrivere codice personalizzato di gestione dei file?
    Utilizza il GroupDocs.Merger Cloud SDK for Java. L’SDK astrae tutte le operazioni di basso livello e consente di unire file DOCX con poche chiamate API.

  • È possibile unire documenti memorizzati in diverse cartelle cloud?
    Sì. Fornire i percorsi completi dei file cloud negli oggetti FileInfo, e l’operazione di unione recupererà ogni file dalla sua posizione prima di combinarli.

  • Cosa devo fare se l’unione fallisce con un ApiException?
    Controlla il messaggio dell’eccezione per dettagli come file mancanti o problemi di autorizzazione. Assicurati che i percorsi dei file siano corretti e che il tuo account abbia accesso in lettura/scrittura allo storage. Consulta la documentazione ufficiale per i codici di errore.

  • Devo avere una licenza separata per ogni ambiente (sviluppo, staging, produzione)?
    Una singola licenza copre tutti gli ambienti, ma è necessario rispettare i limiti di utilizzo definiti nel tuo accordo di licenza. Per i test puoi utilizzare la licenza temporanea collegata sopra.

Read More