Muchos desarrolladores necesitan combinar varios documentos de Word en Node.JS para generar informes consolidados o paquetes. GroupDocs.Merger Cloud SDK for Node.js proporciona una API potente que maneja la fusión de Word en el lado del servidor sin código complejo de manejo de archivos. En esta guía verás una implementación completa, llamadas cURL equivalentes, pasos de instalación y consejos de mejores prácticas para fusionar tus documentos rápidamente.

Combinar varios documentos de Word en Node.JS - Ejemplo de código completo

Este ejemplo muestra cómo fusionar tres archivos DOCX en un solo documento usando el GroupDocs.Merger Cloud SDK for Node.js.

const GroupDocsMergerCloud = require("@groupdocs/merger-cloud");

// ==== Configuration ====
// Replace with your actual credentials
const clientId = "YOUR_CLIENT_ID";
const clientSecret = "YOUR_CLIENT_SECRET";

const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
const mergeApi = new GroupDocsMergerCloud.MergeApi(config);

// ==== Input / Output paths ====
const inputFiles = [
    "documents/input1.docx",
    "documents/input2.docx",
    "documents/input3.docx"
];
const outputFile = "documents/combined_output.docx";

// ==== Build request ====
const documentEntries = inputFiles.map(path => {
    return new GroupDocsMergerCloud.Models.DocumentEntry({
        fileInfo: new GroupDocsMergerCloud.Models.FileInfo({
            filePath: path
        })
    });
});

const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
    documents: documentEntries,
    outputPath: outputFile
});

// ==== Execute merge ====
(async () => {
    try {
        const result = await mergeApi.mergeDocuments(mergeRequest);
        console.log(`Merge completed successfully. Output file: ${result.path}`);
    } catch (error) {
        console.error("Error during merging:", error);
    }
})();

Nota: Este ejemplo de código muestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar las rutas de los archivos (input1.docx, combined_output.docx, etc.) para que coincidan con la ubicación real de sus archivos, verifique que todas las dependencias requeridas estén correctamente instaladas y realice pruebas exhaustivas 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 documentos Word mediante la API REST usando cURL

Si prefieres un enfoque puramente REST, la misma operación de fusión se puede realizar con comandos cURL. A continuación se muestra un flujo de trabajo conciso que autentica, carga los archivos de origen, ejecuta la fusión y descarga el resultado.

1. Autenticar y obtener el token de acceso

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

La respuesta contiene un access_token que se utiliza en llamadas posteriores.

2. Cargar los archivos de origen

Repita este paso para cada archivo DOCX que desee combinar.

curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=documents/input1.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@path/to/input1.docx"

3. Ejecutar la operación 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 '{
    "documents": [
        {"fileInfo": {"filePath": "documents/input1.docx"}},
        {"fileInfo": {"filePath": "documents/input2.docx"}},
        {"fileInfo": {"filePath": "documents/input3.docx"}}
    ],
    "outputPath": "documents/combined_output.docx"
}'

La API devuelve la ruta del archivo fusionado.

4. Descargar el documento combinado

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=documents/combined_output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o combined_output.docx

Para obtener más detalles sobre las cargas útiles de la solicitud y las opciones, consulte la documentación oficial de la API.

Cómo funciona la fusión de varios documentos Word en Node.JS

El SDK abstrae el proceso de fusión en unos pocos pasos lógicos:

  1. Creación de configuración - new GroupDocsMergerCloud.Configuration(clientId, clientSecret) crea el contexto de autenticación. Consulte la referencia de la clase en la Referencia de API.
const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
  1. Instancia de API - new GroupDocsMergerCloud.MergeApi(config) proporciona acceso a operaciones de fusión.

    const mergeApi = new GroupDocsMergerCloud.MergeApi(config);
    
  2. Entradas de documento - Cada archivo de origen se envuelve en un DocumentEntry que contiene un FileInfo con la ruta del archivo.

    const documentEntries = inputFiles.map(path => {
        return new GroupDocsMergerCloud.Models.DocumentEntry({
            fileInfo: new GroupDocsMergerCloud.Models.FileInfo({ filePath: path })
        });
    });
    
  3. Solicitud de fusión - MergeDocumentsRequest agrupa las entradas y la ruta de salida deseada.

    const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
        documents: documentEntries,
        outputPath: outputFile
    });
    
  4. Ejecución - mergeApi.mergeDocuments(mergeRequest) envía la solicitud al servicio en la nube. La promesa se resuelve con un objeto de resultado que contiene la ruta del archivo de salida.

    const result = await mergeApi.mergeDocuments(mergeRequest);
    console.log(`Merge completed successfully. Output file: ${result.path}`);
    

Estos pasos, en conjunto, le permiten combinar varios documentos de Word de manera eficiente sin manejar flujos de archivo de bajo nivel.

Preparando el entorno para GroupDocs.Merger

  1. Instalar el SDK
npm install groupdocs-merger-cloud

El paquete está disponible en la página oficial de página de descarga.

  1. Node.js Version - Asegúrese de que está ejecutando Node.js 12 o posterior.

  2. Configurar credenciales - Reemplace YOUR_CLIENT_ID y YOUR_CLIENT_SECRET en el código con los valores de su cuenta de GroupDocs Cloud.

  3. Crear una carpeta de proyecto - Coloque los archivos DOCX de origen en una subcarpeta documents/ como se muestra en el ejemplo.

Con estos pasos completados, ya estás listo para ejecutar el script de fusión o invocar los endpoints REST.

Conclusión

Combinar varios documentos Word en Node.JS se vuelve sencillo con el GroupDocs.Merger Cloud SDK for Node.js. El SDK maneja la carga de archivos, la lógica de fusión y la generación de salida, lo que le permite centrarse en la lógica de negocio en lugar de la manipulación de archivos de bajo nivel. Recuerde obtener una licencia adecuada para uso en producción; puede comenzar con una licencia temporal y actualizar a una suscripción completa a medida que sus necesidades crezcan. Comience a fusionar hoy y optimice sus flujos de trabajo de documentos.

Preguntas frecuentes

  • ¿Cómo combinar varios documentos Word en Node.JS usando el SDK?
    Utilice la clase MergeApi para crear una MergeDocumentsRequest que enumere cada archivo DOCX como un DocumentEntry. El SDK los combina en el orden proporcionado y guarda el resultado en la ruta de salida especificada.

  • ¿Es posible combinar PDFs juntos con el mismo SDK?
    Sí, el Merger SDK admite PDF, DOCX, ODT, y varios otros formatos. Simplemente cambie las extensiones de archivo en la matriz inputFiles y el SDK manejará la conversión automáticamente. Consulte la documentación oficial para obtener detalles de los formatos.

  • ¿Cuáles son los límites en la cantidad de documentos que puedo combinar en una sola solicitud?
    El servicio en la nube impone un límite de tamaño en lugar de un recuento estricto. Mientras el tamaño combinado se mantenga dentro de la cuota de su cuenta, puede combinar docenas de archivos. Para lotes muy grandes, considere cargar los archivos al almacenamiento de GroupDocs primero y referenciarlos por ID.

  • ¿Necesito preocuparme por la licencia para desarrollo versus producción?
    El desarrollo y las pruebas pueden usar una licencia temporal obtenida de la página de licencia temporal. Para implementaciones en producción, adquiera una licencia completa para desbloquear fusiones ilimitadas y soporte prioritario.

Read More