Combinar archivos Word de forma programática es un requisito frecuente al crear aplicaciones centradas en documentos, especialmente para generar informes o consolidar contratos. GroupDocs.Merger Cloud SDK for Java ofrece una biblioteca simple basada en la nube que permite fusionar archivos DOCX sin tener que manejar archivos a bajo nivel. En esta guía aprenderá cómo combinar varios documentos Word en Java, verá un ejemplo de código completo, explorará llamadas equivalentes de cURL y comprenderá la configuración necesaria. Al final estará listo para integrar la fusión de documentos en sus propios proyectos Java.

Ejemplo completo y funcional para combinar varios documentos Word en Java

Este ejemplo muestra cómo combinar varios documentos Word en Java usando la 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: Este ejemplo de código muestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar cualquier ruta de archivo y valores de configuración para que coincidan con su entorno real, verifique que todas las dependencias requeridas estén instaladas correctamente y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.

Fusionar archivos Word mediante la API REST usando cURL

Si prefieres un enfoque puramente REST, la misma operación de fusión se puede realizar con llamadas cURL. Los pasos a continuación muestran cómo obtener un token de acceso, cargar los archivos de origen, solicitar la fusión y descargar el resultado.

Autenticar y obtener un token de acceso:

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"}'

Cargue cada archivo DOCX en su almacenamiento en la nube (reemplaza YOUR_ACCESS_TOKEN con el token del paso anterior):

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

Repita el comando de carga para input2.docx y input3.docx.

Crear la solicitud de fusión:

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"}
           ]
         }'

Descargar el documento combinado:

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

Para obtener más detalles sobre los parámetros de la solicitud, consulte la documentación oficial de la API.

Comprendiendo el proceso de combinar documentos Word en Java

A continuación se muestra un desglose paso a paso del código presentado anteriormente.

  1. Crear un ApiClient - new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET") establece una conexión con el servicio en la nube de GroupDocs.

    ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
    
  2. Instanciar MergerApi - new MergerApi(apiClient) brinda acceso a los endpoints relacionados con la fusión.

    MergerApi mergerApi = new MergerApi(apiClient);
    
  3. Preparar la lista de archivos de origen - Cada objeto FileInfo apunta a un archivo DOCX almacenado en la nube. La lista se pasa a MergeOptions.

    List<FileInfo> sourceFiles = new ArrayList<>();
    sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
    
  4. Configurar MergeOptions - Establezca la ruta de salida deseada y adjunte la lista de archivos de origen.

    MergeOptions mergeOptions = new MergeOptions();
    mergeOptions.setOutputPath("merged_output.docx");
    mergeOptions.setFileInfos(sourceFiles);
    
  5. Ejecutar la fusión - mergerApi.merge(mergeOptions) envía la solicitud y devuelve un FileInfo para el documento fusionado.

    FileInfo result = mergerApi.merge(mergeOptions);
    

Para obtener una lista completa de las propiedades disponibles, consulte la referencia de API.

Requisitos y configuración para GroupDocs.Merger Cloud SDK

Antes de poder ejecutar el código, agregue la dependencia de Maven a su proyecto y asegúrese de tener una cuenta válida de GroupDocs.

Agrega el SDK a tu pom.xml:

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

Descargue los últimos JAR y el código fuente desde la página de descarga.
También necesitará Java 8 o superior y acceso a internet para las llamadas a la nube.
Cree una cuenta de GroupDocs, obtenga su Client ID y Client Secret, y manténgalos seguros.

Conclusión

Fusionar archivos DOCX programáticamente ahora es sencillo con el GroupDocs.Merger Cloud SDK for Java. El código de ejemplo y los fragmentos cURL ilustran dos formas flexibles de combinar varios documentos Word en Java, ya sea que prefiera una biblioteca nativa o llamadas REST directas. Recuerde configurar sus credenciales, manejar archivos grandes mediante streaming si es necesario y probar la operación de fusión con documentos representativos. Para implementaciones en producción necesitará una licencia paga; los detalles de precios están disponibles en la página del producto y puede solicitar una licencia temporal para evaluación desde la página de licencia temporal.

Preguntas frecuentes

  • ¿Cómo combinar varios documentos de Word en Java sin escribir código personalizado de manejo de archivos?
    Utilice el GroupDocs.Merger Cloud SDK for Java. El SDK abstrae todas las operaciones de bajo nivel y le permite combinar archivos DOCX con unas pocas llamadas a la API.

  • ¿Es posible combinar documentos que están almacenados en diferentes carpetas en la nube?
    Sí. Proporcione las rutas completas de los archivos en la nube en los objetos FileInfo, y la operación de combinación obtendrá cada archivo de su ubicación antes de combinarlos.

  • ¿Qué debo hacer si la fusión falla con un ApiException?
    Verifique el mensaje de excepción para obtener detalles, como archivos faltantes o problemas de permisos. Asegúrese de que las rutas de los archivos sean correctas y de que su cuenta tenga acceso de lectura/escritura al almacenamiento. Consulte la documentación oficial para obtener códigos de error.

  • ¿Necesito una licencia separada para cada entorno (desarrollo, pruebas, producción)?
    Una única licencia cubre todos los entornos, pero debe respetar los límites de uso definidos en su acuerdo de licencia. Para pruebas, puede usar la licencia temporal vinculada arriba.

Leer más