Combine múltiples presentaciones de PowerPoint en una sola en Node.js

Combine múltiples presentaciones de PowerPoint en una sola en Node.js

El archivo PowerPoint es un archivo de presentación desarrollado por Microsoft PowerPoint. En ciertos casos, es posible que deba combinar dos o más presentaciones de PowerPoint. Por ejemplo, necesita fusionar diapositivas para crear presentaciones usando sus presentaciones de diapositivas creadas previamente para referenciar datos o cuando diferentes usuarios están trabajando en el mismo tema. La combinación de diapositivas de PowerPoint lo ayuda a mantener la coherencia de su información y a hacer que sus presentaciones de PowerPoint sean más eficientes. Hoy aprenderemos cómo fusionar varias presentaciones de PowerPoint en una sola en Node.js.

En este artículo se tratarán los siguientes temas:

Fusión de documentos API REST y SDK de Node.js

Para fusionar varios archivos PPTX, usaré la API Node.js SDK de GroupDocs.Merger Cloud. Le permite combinar, extraer, eliminar y reorganizar una sola página o una colección de páginas de formatos de documentos compatibles como Word, Excel, PowerPoint, dibujos de Visio, PDF y HTML, etc.

Puede instalar la nube GroupDocs.Merger en su aplicación Node.js usando el siguiente comando en la consola:

npm install groupdocs-merger-cloud

Obtenga su ID de cliente y secreto del panel de control antes de seguir los pasos mencionados. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

// Importe el SDK de Node.js en su aplicación de nodo desde http://api.groupdocs.cloud
global.groupdocs_merger_cloud = require("groupdocs-merger-cloud");
global.fs = require("fs");

// obtenga clientId y clientSecret de https://dashboard.groupdocs.cloud (se requiere 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";

Combinar múltiples presentaciones de PowerPoint en Node.js usando REST API

Puede combinar múltiples presentaciones de PowerPoint en un solo archivo mediante programación en la nube siguiendo los sencillos pasos que se detallan a continuación:

  • Subir los archivos de PowerPoint a la nube
  • Combinar múltiples archivos de PowerPoint usando Node.js
  • Descargar la presentación PPTX fusionada

Cargue los archivos de PowerPoint

En primer lugar, suba los archivos de PowerPoint a la nube utilizando el ejemplo de código que se muestra a continuación:

// construir FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// abra varias carpetas de archivos pptx desde la unidad de su sistema.
let resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-pptx\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // leer archivos uno por uno
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // crear solicitud de carga de archivo
      let request = new groupdocs_merger_cloud.UploadFileRequest("nodejs-testing/" + file, fileStream, myStorage);
      // subir archivo
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " file uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

Como resultado, los archivos de PowerPoint cargados estarán disponibles en la sección de archivos de su tablero en la nube.

Combinar varios archivos de PowerPoint con Node.js

Puede fusionar fácilmente varios archivos PPT o PPTX en un solo archivo mediante programación siguiendo los pasos que se mencionan a continuación:

  • Crear una instancia de DocumentApi
  • Ahora, crea el primer JoinItem
  • A continuación, cree el primer elemento FileInfo
  • Proporcione la ruta del archivo de entrada para el primer JoinItem en FileInfo
  • Crea el segundo JoinItem
  • Crear el segundo elemento FileInfo
  • Proporcione la ruta del archivo de entrada para el segundo JoinItem en FileInfo
  • Crear los múltiples archivos JoinOptions
  • Agregue una lista separada por comas de los elementos de unión creados
  • Establecer la ruta del archivo de salida
  • Crear JoinRequest con JoinOptions como argumento
  • Obtenga resultados llamando al método join() de DocumentAPI

El siguiente fragmento de código muestra cómo fusionar varias presentaciones de PowerPoint mediante la API REST en Node.js:

// Cómo combinar archivos ppt/pptx de PowerPoint usando Node.js
const combine = async () => {

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

// crear el primer elemento de unión
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "nodejs-testing/sample-file1.pptx";

// crear un segundo elemento de unión
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "nodejs-testing/sample-file2.pptx";

// crear opciones de unión
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "nodejs-testing/joined-file.pptx";

  try {
    // Crear solicitud de unión de documentos
    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);
})
Combinar varios archivos de PowerPoint con Node.js

Combinar varios archivos de PowerPoint con Node.js

Descargar el archivo combinado

El ejemplo de código anterior guardará el archivo combinado de PowerPoint PPTX en la nube. Puede descargarlo utilizando el siguiente ejemplo de código:

// construir FileApi para descargar el archivo combinado
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// crear solicitud de archivo de descarga
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/joined-file.pptx", myStorage);
// descargar archivo y tipo de respuesta Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // guardar el archivo en el directorio de su 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);
    });

Cómo fusionar diapositivas de PowerPoint específicas usando Node.js

Puede fusionar fácilmente diapositivas específicas de varios archivos PPTX en un solo archivo mediante programación siguiendo los pasos que se mencionan a continuación:

  • En primer lugar, cree una instancia de DocumentApi
  • A continuación, cree el primer JoinItem
  • Ahora, crea el primer elemento FileInfo
  • Establezca la ruta del archivo de entrada para el primer JoinItem en FileInfo
  • Proporcione una lista de páginas separadas por comas para combinar
  • Crea el segundo JoinItem
  • Crear el segundo elemento FileInfo
  • Establezca la ruta del archivo de entrada para el segundo JoinItem en FileInfo
  • Ahora, establezca el valor startPageNumber
  • a continuación, establezca el valor endPageNumber
  • Crear los múltiples archivos JoinOptions
  • Agregue una lista separada por comas de los elementos de unión creados
  • Establecer la ruta del archivo de salida
  • Crear JoinRequest con JoinOptions como argumento
  • Obtenga resultados llamando al método join() de DocumentAPI

El siguiente fragmento de código muestra cómo fusionar diapositivas pptx de PowerPoint específicas mediante la API REST en Node.js:

// Cómo fusionar diapositivas específicas de archivos ppt/pptx usando Node.js
const mergespecific = async () => {

  // Fusionar inicialización de ppt/pptx api
  let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

  // crear el primer elemento de unión
  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];

  // crear un segundo elemento de unión
  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

  // crear opciones de unión
  let options = new groupdocs_merger_cloud.JoinOptions();
  options.joinItems = [item1, item2];
  options.outputPath = "nodejs-testing/joined-file.pptx";

  try {
    // Crear solicitud de unión de documentos
    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);
})
Cómo fusionar diapositivas de PowerPoint específicas usando Node.js

Cómo fusionar diapositivas de PowerPoint específicas usando Node.js

Prueba en línea

Pruebe la siguiente herramienta gratuita de fusión de PPTX en línea, que se desarrolla utilizando la API anterior.

Conclusión

En este artículo, has aprendido:

  • cómo fusionar varios archivos de PowerPoint en la nube;
  • cargar archivos de PowerPoint en la nube mediante programación;
  • cómo fusionar diapositivas pptx específicas en un archivo usando REST API en Node.js;
  • descargue mediante programación el archivo combinado de la nube;

La API también le permite reordenar o reemplazar páginas de documentos, cambiar la orientación de la página, administrar contraseñas de documentos y realizar otras manipulaciones fácilmente para cualquier formato de archivo compatible. También proporciona SDK de .NET, Java, PHP, Ruby, Android y Python como miembros de la familia de fusión de documentos para la API de la nube. Puede obtener más información sobre GroupDocs.Merge Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador.

Hacer una pregunta

Puede hacer sus consultas sobre cómo combinar diapositivas PPTX, a través de nuestro Foro de soporte gratuito

Ver también