Mesclar várias apresentações do PowerPoint em uma no Node.js

Mesclar várias apresentações do PowerPoint em uma no Node.js

O arquivo PowerPoint é um arquivo de apresentação desenvolvido pelo Microsoft PowerPoint. Em certos casos, pode ser necessário combinar duas ou mais apresentações em PowerPoint. Por exemplo, você precisa mesclar slides para criar apresentações usando suas apresentações de slides criadas anteriormente para referência de dados ou quando diferentes usuários estão trabalhando no mesmo tópico. A combinação de slides do PowerPoint ajuda você a manter suas informações consistentes e a tornar suas apresentações em PowerPoint mais eficientes. Hoje, aprenderemos como mesclar várias apresentações do PowerPoint em uma só no Node.js.

Os seguintes tópicos serão abordados neste artigo:

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

Para mesclar vários arquivos PPTX, 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.

Você pode instalar a nuvem GroupDocs.Merger em seu aplicativo Node.js usando o seguinte comando no console:

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";

Mescle várias apresentações do PowerPoint em Node.js usando a API REST

Você pode combinar várias apresentações do PowerPoint em um único arquivo programaticamente na nuvem seguindo as etapas simples fornecidas abaixo:

  • Carregar os arquivos do PowerPoint para a nuvem
  • Combinar vários arquivos do PowerPoint usando Node.js
  • Baixar a apresentação PPTX mesclada

Carregar os arquivos do PowerPoint

Em primeiro lugar, carregue os arquivos do PowerPoint para a nuvem usando o exemplo de código abaixo:

// construir FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// abra várias pastas de arquivos pptx da unidade do sistema.
let resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-pptx\\';

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);
        });
    });
  });
});

Como resultado, os arquivos do PowerPoint carregados estarão disponíveis na seção de arquivos do seu painel na nuvem.

Mesclar vários arquivos do PowerPoint usando Node.js

Você pode mesclar facilmente vários arquivos PPT ou PPTX 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 JoinItem no FileInfo
  • 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
  • Obtenha resultados chamando o método join() da DocumentAPI

O trecho de código a seguir mostra como mesclar várias apresentações do PowerPoint usando a API REST no Node.js:

// Como combinar arquivos PowerPoint ppt/pptx 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.pptx";

// 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.pptx";

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

  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 powerpoint pptx files: ");
})
.catch((err) => {
  console.log("Error occurred while merging the PowerPoint files:", err);
})
Mesclar vários arquivos do PowerPoint usando Node.js

Mesclar vários arquivos do PowerPoint usando Node.js

Baixe o arquivo mesclado

O exemplo de código acima salvará o arquivo PPTX do PowerPoint mesclado na nuvem. 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.pptx", 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.pptx", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

Como mesclar slides específicos do PowerPoint usando Node.js

Você pode facilmente mesclar slides específicos de vários arquivos PPTX 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 slides pptx específicos do PowerPoint usando a API REST no Node.js:

// Como mesclar slides específicos de arquivos ppt/pptx usando Node.js
const mergespecific = async () => {

  // Inicialização da API de mesclagem ppt/pptx
  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.pptx";
  item1.pages = [3, 4];

  // 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.pptx";
  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.pptx";

  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 pptx slides: ");
})
.catch((err) => {
  console.log("Error occurred while combining the PowerPoint files:", err);
})
Como mesclar slides específicos do PowerPoint usando Node.js

Como mesclar slides específicos do PowerPoint usando Node.js

Experimente on-line

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

Conclusão

Neste artigo, você aprendeu:

  • como mesclar vários arquivos do PowerPoint na nuvem;
  • carregar programaticamente arquivos do PowerPoint na nuvem;
  • como mesclar slides pptx específicos em um arquivo usando a API REST em Node.js;
  • baixar programaticamente o arquivo 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.

Faça uma pergunta

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

Veja também