Muitos desenvolvedores precisam combinar vários documentos Word no Node.JS para gerar relatórios consolidados ou pacotes. GroupDocs.Merger Cloud SDK for Node.js fornece uma API poderosa que manipula a mesclagem de Word no lado do servidor sem código complexo de manipulação de arquivos. Neste guia você verá uma implementação completa, chamadas cURL equivalentes, etapas de instalação e dicas de boas práticas para mesclar seus documentos rapidamente.

Combinar vários documentos Word em Node.JS - Exemplo de código completo

Este exemplo demonstra como mesclar três arquivos DOCX em um único documento usando o 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);
    }
})();

Observação: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar os caminhos dos arquivos (input1.docx, combined_output.docx, etc.) para corresponder às suas localizações reais, verifique se todas as dependências necessárias estão corretamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Mesclando documentos Word via API REST usando cURL

Se você preferir uma abordagem puramente REST, a mesma operação de mesclagem pode ser realizada com comandos cURL. Abaixo está um fluxo de trabalho conciso que autentica, envia os arquivos de origem, executa a mesclagem e baixa o resultado.

1. Autenticar e Obter Token de Acesso

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

A resposta contém um access_token usado nas chamadas subsequentes.

2. Carregar os Arquivos de Origem

Repita esta etapa para cada arquivo DOCX que você deseja mesclar.

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. Execute a Operação de Mesclagem

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

A API retorna o caminho do arquivo mesclado.

4. Baixar o Documento Mesclado

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 mais detalhes sobre os payloads de solicitação e opções, veja a documentação oficial da API.

Como funciona a mesclagem de vários documentos Word no Node.JS

O SDK abstrai o processo de mesclagem em algumas etapas lógicas:

  1. Criação de Configuração - new GroupDocsMergerCloud.Configuration(clientId, clientSecret) cria o contexto de autenticação. Veja a referência da classe em Referência da API.

    const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
    
  2. Instância da API - new GroupDocsMergerCloud.MergeApi(config) fornece acesso às operações de mesclagem.

const mergeApi = new GroupDocsMergerCloud.MergeApi(config);
  1. Entradas de Documento - Cada arquivo de origem é encapsulado em um DocumentEntry que contém um FileInfo com o caminho do arquivo.

    const documentEntries = inputFiles.map(path => {
        return new GroupDocsMergerCloud.Models.DocumentEntry({
            fileInfo: new GroupDocsMergerCloud.Models.FileInfo({ filePath: path })
        });
    });
    
  2. Solicitação de Mesclagem - MergeDocumentsRequest agrupa as entradas e o caminho de saída desejado.

    const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
        documents: documentEntries,
        outputPath: outputFile
    });
    
  3. Execução - mergeApi.mergeDocuments(mergeRequest) envia a solicitação ao serviço de nuvem. A promessa resolve com um objeto de resultado contendo o caminho do arquivo de saída.

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

Esses passos, juntos, permitem combinar vários documentos Word de forma eficiente sem lidar com fluxos de arquivos de baixo nível.

Preparando o Ambiente para GroupDocs.Merger

  1. Instale o SDK
npm install groupdocs-merger-cloud

O pacote está disponível na página de download oficial.

  1. Versão do Node.js - Certifique-se de que está executando o Node.js 12 ou posterior.

  2. Configurar Credenciais - Substitua YOUR_CLIENT_ID e YOUR_CLIENT_SECRET no código pelos valores da sua conta GroupDocs Cloud.

  3. Criar uma Pasta de Projeto - Coloque os arquivos DOCX de origem em uma subpasta documents/ conforme mostrado no exemplo.

Com estas etapas concluídas, você está pronto para executar o script de mesclagem ou invocar os endpoints REST.

Conclusão

Combinar vários documentos Word no Node.JS torna‑se simples com o GroupDocs.Merger Cloud SDK for Node.js. O SDK lida com o upload de arquivos, a lógica de mesclagem e a geração de saída, permitindo que você se concentre na lógica de negócios em vez da manipulação de arquivos de baixo nível. Lembre‑se de garantir uma licença adequada para uso em produção; você pode começar com uma licença temporária e atualizar para uma assinatura completa à medida que suas necessidades crescem. Comece a mesclar hoje e simplifique seus fluxos de trabalho de documentos.

Perguntas Frequentes

  • Como combinar vários documentos Word no Node.JS usando o SDK?
    Use a classe MergeApi para criar um MergeDocumentsRequest que lista cada arquivo DOCX como um DocumentEntry. O SDK mescla‑os na ordem fornecida e salva o resultado no caminho de saída especificado.

  • É possível mesclar PDFs juntos com o mesmo SDK?
    Sim, o Merger SDK suporta PDF, DOCX, ODT, e vários outros formatos. Basta alterar as extensões dos arquivos no array inputFiles e o SDK cuidará da conversão automaticamente. Consulte a documentação oficial para detalhes dos formatos.

  • Quais são os limites no número de documentos que posso mesclar em uma única solicitação?
    O serviço em nuvem impõe um limite de tamanho em vez de uma contagem estrita. Desde que o tamanho combinado permaneça dentro da cota da sua conta, você pode mesclar dezenas de arquivos. Para lotes muito grandes, considere fazer upload dos arquivos para o GroupDocs storage primeiro e referenciá‑los por ID.

  • Preciso me preocupar com licenciamento para desenvolvimento versus produção?
    O desenvolvimento e os testes podem usar uma licença temporária obtida na página de licença temporária. Para implantações em produção, adquira uma licença completa para desbloquear mesclagens ilimitadas e suporte prioritário.

Read More