Cómo combinar y fusionar archivos PDF en uno en línea usando Node.js

Combine y fusione archivos PDF en uno en línea usando Node.js

A veces es posible que necesitemos combinar dos o más archivos PDF para hacer uno más completo. Por ejemplo, necesita fusionar archivos PDF para crear documentos usando sus archivos creados previamente para hacer referencia a datos o cuando diferentes usuarios están trabajando en el mismo tema. La combinación de archivos PDF lo ayuda a mantener la coherencia de su información y hace que sus documentos sean más eficientes. Puede ser tedioso copiar y pegar contenido manualmente o importar contenido de otros documentos para combinar documentos. Por lo tanto, aprenderemos cómo combinar y fusionar archivos PDF en uno en línea usando la API REST de Node.js.

Este artículo cubrirá los siguientes temas.

API REST de fusión de documentos en línea y SDK de Node.js

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

El siguiente comando en la consola habilitará la nube GroupDocs.Merger para su aplicación Node.js:

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 y combinar archivos PDF en uno usando Node.js

En esta sección, aprenderemos cómo combinar múltiples archivos PDF en un solo archivo mediante programación en la nube siguiendo los sencillos pasos que se detallan a continuación:

  • Subir los archivos PDF a la nube
  • Combinar múltiples archivos PDF usando Node.js
  • Descargar el documento PDF combinado

Sube los archivos PDF

Primero, use el ejemplo de código a continuación para cargar los archivos PDF a la nube:

// construir FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// abra el archivo en IOStream desde la unidad de su sistema.
let resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-pdf\\';

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

Por lo tanto, se podrá acceder a los archivos PDF cargados en la sección de archivos de su panel de control en la nube.

Combinar múltiples PDF en uno en línea usando Node.js

A continuación, combine varios archivos PDF 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 elemento de unión en la información del archivo
  • 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
  • Por último, obtenga resultados llamando al método join() de DocumentAPI

El siguiente fragmento de código muestra cómo fusionar varios archivos PDF mediante la API REST en Node.js:

// Cómo fusionar y combinar archivos PDF en uno 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.pdf";

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

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

  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 PDF documents: ");
})
.catch((err) => {
  console.log("Error occurred while merging the PDF files:", err);
})

Descargar Fusionar archivos PDF

El archivo PDF fusionado se guardará en la nube utilizando el fragmento de código anterior. 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.pdf", 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.pdf", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

Cómo combinar varias páginas de archivos PDF en Node.js

Puede fusionar rápidamente diapositivas específicas de varios archivos PDF 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 archivos PDF específicos mediante la API REST en Node.js:

// Cómo combinar varias páginas de archivos PDF en Node.js
const mergespecific = async () => {

  // Fusionar inicialización de API de PDF
  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.pdf";
  item1.pages = [1, 3];

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

  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 PDF documents specific pages: ");
})
.catch((err) => {
  console.log("Error occurred while combining the PDF files:", err);
})

Combine archivos PDF en uno en línea gratis

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

Conclusión

En este artículo, has aprendido:

  • cómo fusionar múltiples archivos PDF en un solo PDF usando Node.js;
  • cómo fusionar páginas específicas de archivos PDF en Node.js usando REST API;
  • cargue archivos PDF mediante programación y descargue el archivo PDF combinado desde 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.

También le recomendamos que lea nuestra Guía de introducción

Además, groupdocs.cloud escribe otros artículos de blog sobre nuevos temas. Por favor, esté al tanto de las últimas actualizaciones.

Hacer una pregunta

Puede hacer sus consultas sobre cómo combinar archivos PDF a través de nuestro Foro de soporte gratuito

preguntas frecuentes

¿Cómo combino varias páginas en un PDF usando Node.js?

Siga el código Node.js para saber cómo combinar archivos PDF en Windows, rápida y fácilmente. Puede visitar la documentación para obtener detalles completos de la API.

Ver también

Le sugerimos que lea los siguientes artículos para obtener más información: