Como combinar e mesclar arquivos PDF em One Online usando Node.js

Combine e mescle arquivos PDF no One Online usando Node.js

Às vezes, podemos precisar combinar dois ou mais arquivos PDF para criar um mais completo. Por exemplo, você precisa mesclar arquivos PDF para criar documentos usando seus arquivos criados anteriormente para referência de dados ou quando diferentes usuários estão trabalhando no mesmo tópico. A combinação de arquivos PDF ajuda você a manter suas informações consistentes e a tornar seus documentos mais eficientes. Pode ser tedioso copiar e colar conteúdo manualmente ou importar conteúdo de outros documentos para mesclar documentos. Portanto, aprenderemos como combinar e mesclar arquivos PDF em um online usando a API REST do Node.js.

Este artigo abordará os seguintes tópicos.

API REST de fusão de documentos online e SDK Node.js

Para combinar vários arquivos PDF, usarei a API Node.js SDK of GroupDocs.Merger Cloud. Ele permite que você combine, extraia, remova e reorganize uma única página ou uma coleção de páginas de formatos de documento suportados como Word, Excel, PowerPoint, desenhos do Visio, PDF e HTML, etc.

O seguinte comando no console habilitará a nuvem GroupDocs.Merger para seu aplicativo Node.js:

npm install groupdocs-merger-cloud

Obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

# Importe o SDK do Node.js em seu aplicativo de nó de http://api.groupdocs.cloud
global.groupdocs_merger_cloud = require("groupdocs-merger-cloud");
global.fs = require("fs");

// obtenha clientId e clientSecret em https://dashboard.groupdocs.cloud (é necessário registro gratuito).
global.clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
global.clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
global.myStorage = "test-internal-storage";
const config = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

Mesclar e combinar arquivos PDF em um usando Node.js

Nesta seção, aprenderemos como combinar vários arquivos PDF em um único arquivo programaticamente na nuvem, seguindo as etapas simples abaixo:

  • Upload os arquivos PDF para a nuvem
  • Combinar vários arquivos PDF usando Node.js
  • Baixe o documento PDF combinado

Carregar os arquivos PDF

Primeiro, use o exemplo de código abaixo para carregar os arquivos PDF na nuvem:

// construir FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// abra o arquivo no IOStream da unidade do sistema.
let resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-pdf\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // ler arquivos um por um
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // criar solicitação de upload de arquivo
      let request = new groupdocs_merger_cloud.UploadFileRequest("nodejs-testing/" + file, fileStream, myStorage);
      // subir arquivo
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " file uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

Os arquivos PDF carregados estarão, portanto, acessíveis na seção de arquivos do seu painel na nuvem.

Mescle vários PDFs em um online usando Node.js

Em seguida, mescle vários arquivos PDF em um único arquivo programaticamente seguindo as etapas mencionadas abaixo:

  • Crie uma instância do DocumentApi
  • Agora, crie o primeiro JoinItem
  • Em seguida, crie o primeiro item FileInfo
  • Forneça o caminho do arquivo de entrada para o primeiro item de junção nas informações do arquivo
  • Crie o segundo JoinItem
  • Crie o segundo item FileInfo
  • Forneça o caminho do arquivo de entrada para o segundo JoinItem no FileInfo
  • Crie os vários arquivos JoinOptions
  • Adicionar lista separada por vírgulas de itens de junção criados
  • Defina o caminho do arquivo de saída
  • Crie JoinRequest com JoinOptions como argumento
  • Por fim, obtenha resultados chamando o método join() da DocumentAPI

O trecho de código a seguir mostra como mesclar vários arquivos PDF usando a API REST no Node.js:

// Como mesclar e combinar arquivos PDF em um usando Node.js
const combine = async () => {

let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// criar primeiro item de junção
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "nodejs-testing/sample-file1.pdf";

// criar segundo item de junção
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";

// criar opções de junção
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "nodejs-testing/joined-file.pdf";

  try {
    // Criar solicitação de documentos de junção
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

combine()
.then(() => {
  console.log("Successfully combined PDF documents: ");
})
.catch((err) => {
  console.log("Error occurred while merging the PDF files:", err);
})

Baixar Mesclar Arquivos PDF

O arquivo PDF mesclado será salvo na nuvem usando o trecho de código acima. Você pode baixá-lo usando o seguinte exemplo de código:

// construir FileApi para baixar o arquivo mesclado
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// criar solicitação de download de arquivo
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/joined-file.pdf", myStorage);
// arquivo de download e tipo de resposta Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // salve o arquivo no diretório do sistema
        fs.writeFile("H:\\groupdocs-cloud-data\\joined-file.pdf", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

Como mesclar várias páginas de arquivos PDF no Node.js

Você pode mesclar rapidamente slides específicos de vários arquivos PDF em um único arquivo programaticamente seguindo as etapas mencionadas abaixo:

  • Em primeiro lugar, crie uma instância do DocumentApi
  • Em seguida, crie o primeiro JoinItem
  • Agora, crie o primeiro item FileInfo
  • Defina o caminho do arquivo de entrada para o primeiro JoinItem no FileInfo
  • Forneça uma lista separada por vírgulas de páginas para combinar
  • Crie o segundo JoinItem
  • Crie o segundo item FileInfo
  • Defina o caminho do arquivo de entrada para o segundo JoinItem no FileInfo
  • Agora, defina o valor startPageNumber
  • em seguida, defina o valor endPageNumber
  • Crie os vários arquivos JoinOptions
  • Adicionar lista separada por vírgulas de itens de junção criados
  • Defina o caminho do arquivo de saída
  • Crie JoinRequest com JoinOptions como argumento
  • Obtenha resultados chamando o método join() da DocumentAPI

O trecho de código a seguir mostra como mesclar arquivos PDF específicos usando a API REST no Node.js:

// Como mesclar várias páginas de arquivos PDF no Node.js
const mergespecific = async () => {

  // Inicialização da API de mesclagem de PDFs
  let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

  // criar primeiro item de junção
  let item1 = new groupdocs_merger_cloud.JoinItem();
  item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item1.fileInfo.filePath = "nodejs-testing/sample-file1.pdf";
  item1.pages = [1, 3];

  // criar segundo item de junção
  let item2 = new groupdocs_merger_cloud.JoinItem();
  item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";
  item2.startPageNumber = 2
  item2.endPageNumber = 4

  // criar opções de junção
  let options = new groupdocs_merger_cloud.JoinOptions();
  options.joinItems = [item1, item2];
  options.outputPath = "nodejs-testing/joined-file.pdf";

  try {
    // Criar solicitação de documentos de junção
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

mergespecific()
.then(() => {
  console.log("Successfully merged PDF documents specific pages: ");
})
.catch((err) => {
  console.log("Error occurred while combining the PDF files:", err);
})

Combine arquivos PDF em One Online Grátis

Tente a seguinte ferramenta on-line gratuita de fusão de PDF, desenvolvida usando a API acima.

Conclusão

Neste artigo, você aprendeu:

  • como mesclar vários arquivos PDF em um PDF usando Node.js;
  • como mesclar páginas específicas de arquivos PDF no Node.js usando a API REST;
  • carregar arquivos PDF programaticamente e baixar o arquivo PDF mesclado da nuvem;

A API também permite que você reordene ou substitua páginas de documentos, altere a orientação da página, gerencie senhas de documentos e execute outras manipulações facilmente para qualquer formato de arquivo compatível. Ele também fornece SDKs .NET, Java, PHP, Ruby, Android e Python como seus membros da família de fusão de documentos para a Cloud API. Você pode aprender mais sobre GroupDocs.Merge Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador.

Também recomendamos que você leia nosso Guia de primeiros passos.

Além disso, groupdocs.cloud escreve outros artigos de blog sobre novos tópicos. Esteja ciente das atualizações mais recentes.

Faça uma pergunta

Você pode tirar suas dúvidas sobre como combinar arquivos PDF, através do nosso Fórum de Suporte Gratuito

perguntas frequentes

Como faço para combinar várias páginas em um PDF usando Node.js?

Siga o código Node.js para saber como combinar arquivos PDF no Windows de forma rápida e fácil. Você pode visitar a documentação para obter detalhes completos da API.

Veja também

Sugerimos que você leia os seguintes artigos para saber mais: