Excel a PDF

Convertir Excel a PDF usando Node.js

Excel es uno de los formatos de archivo más populares para el almacenamiento de datos computacionales. Es capaz de almacenar datos como números y fórmulas, texto y formas de dibujo. Además, Excel es parte de la suite de software Microsoft Office, por lo que muchos usuarios lo utilizan para producir los archivos XLS. Además, debido a sus capacidades para almacenar datos en una cuadrícula de celdas dispuestas en filas numeradas y columnas con nombres de letras para organizar manipulaciones de datos como operaciones aritméticas, se ha vuelto muy popular. Pero para ver estos archivos, necesita tener una aplicación específica instalada. Además, varias versiones de software muestran los archivos en diferentes formatos. Por lo tanto, para resolver todos estos problemas, la conversión del archivo al formato PDF es una solución viable porque la mayoría de los navegadores web en computadoras de escritorio y varias aplicaciones gratuitas en dispositivos móviles muestran cómodamente los documentos PDF.

En este artículo, analizaremos la conversión de Excel a PDF mediante Cloud REST API.

API de conversión de Excel a PDF

Aspose.Cells Cloud es nuestra galardonada API REST que ofrece la posibilidad de crear archivos Excel desde cero, editar el contenido de los archivos existentes y renderizar el archivo en formatos como XLSM, HTML, XPS, TIFF, SVG y muchos más. Por lo tanto, según el alcance de este artículo, vamos a utilizar Aspose.Cells Cloud SDK para Node.js.

Convertir Excel a PDF mediante comandos cURL

En esta sección, vamos a utilizar los comandos cURL para guardar Excel en formato PDF. Por lo tanto, el primer paso es crear una suscripción de cuenta gratuita en el panel de control de Aspose.Cloud. Si tiene una cuenta de GitHub o Google, simplemente regístrese. De lo contrario, haga clic en el botón Crear una nueva cuenta y proporcione la información requerida. Inicie sesión en el panel de control para acceder a sus credenciales de cliente.

Ahora, ejecute el siguiente comando para generar el token de acceso JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Una vez que tenemos el token JWT, necesitamos ejecutar el siguiente comando cURL para cargar un archivo desde el sistema local, al almacenamiento en la nube y luego realizar la conversión al formato PDF.

curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/conditional.xls" \
-H  "accept: application/json" 
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}
https://api.aspose.cloud/v3.0/cells/storage/file/conditional.xlsx

En caso de que necesite realizar la conversión de un archivo XLS ya disponible en el almacenamiento en la nube al formato PDF, intente utilizar el siguiente comando cURL:

curl -X GET "https://api.aspose.cloud/v3.0/cells/conditional.xls?format=PDF&isAutoFit=true&onlySaveTable=false&outPath=output.pdf" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Convertir XLS a PDF en Node.js

En esta sección, analizaremos los pasos y los detalles sobre cómo realizar la conversión de una hoja de cálculo de Excel a formato PDF utilizando el SDK de Node.js. El primer paso es instalar el SDK en el sistema local, que está disponible para descargar en NPM y GitHub. Por lo tanto, ejecutaremos el siguiente comando para instalar el SDK desde NPM.

npm i asposecellscloud

Después de la instalación, podemos ejecutar el siguiente fragmento de código para realizar la conversión de XLS a PDF usando Node.js

  • Cree objetos que definan el ID del cliente y los detalles del secreto del cliente.
  • Luego, cree un objeto de la clase CellsApi que tome los detalles de ID de cliente y Secreto de cliente como argumentos.
  • El siguiente paso es leer el contenido del archivo XLS de entrada disponible en el sistema local utilizando el método createReadStream(…) del Módulo del Sistema de Archivos.
  • Ahora cree una instancia de la clase UploadFileRequest y luego pase los datos de entrada del Stream a la propiedad del archivo.
  • Para cargar el archivo al almacenamiento en la nube, llame al método uploadFile(…) de CellsApi.
  • El siguiente paso es crear un objeto de la clase CellsSaveAsPostDocumentSaveAsRequest(…).
  • Además, cree una instancia de la clase PdfSaveOptions y pase el valor de PDF a la propiedad saveFormat.
  • Por último, llame al método cellsSaveAsPostDocumentSaveAs(..) de la clase CellsApi para iniciar el proceso de conversión.
const { CellsApi, CellsSaveAs_PostDocumentSaveAsRequest,UploadFileRequest,PdfSaveOptions } = require("asposecellscloud");

// Obtenga su ClientId y ClientSecret desde https://dashboard.aspose.cloud (se requiere registro gratuito).
const clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
const clientSecret = "388e864b819d8b067a8b1cb625a2ea8e";

// crear una instancia de CellsApi
const cellsApi = new CellsApi(clientId, clientSecret);

// nombre del documento de entrada de Excel
filename = "conditional.xlsx"

// Incluya la referencia del módulo del sistema de archivos en su código
const fs = require("fs");

// Leer el contenido del archivo de entrada de Excel
var data =fs.createReadStream("/Users/nayyershahbaz/Downloads/"+ filename);

// crear una instancia de solicitud de carga de archivos
var req = new UploadFileRequest();
req.path = filename;
// Establezca el contenido como instancia de Stream que contiene el archivo Excel cargado
req.file = data;

// Subir el archivo al almacenamiento en la nube
return cellsApi.uploadFile(req)
    .then((result) => {
        // Crear una instancia de SaveAsRequest de documento
        var req = new CellsSaveAs_PostDocumentSaveAsRequest();
        req.name = filename;

        // Crear un objeto de la clase PdfSaveOptions
        req.saveOptions = new PdfSaveOptions();
  
        // Establezca el formato de archivo resultante como PDF
        req.saveOptions.saveFormat = "pdf";
        
        // Establece el nombre para el nuevo archivo resultante
        req.newfilename = "newbook.pdf";
        // Dado que vamos a guardar en la ubicación predeterminada, estableceremos nulo como valor de carpeta        
        req.folder = null;
    
        // Llame al método SaveAsPostDocument para iniciar el proceso de conversión     
        return cellsApi.cellsSaveAsPostDocumentSaveAs(req)
            .then((result) => {
            expect(result.body.code).to.equal(200);
            expect(result.response.statusCode).to.equal(200);
        });
    });

Conclusión

En este artículo, analizamos los detalles relacionados con la conversión de Excel a formato PDF de una manera sencilla y conveniente. Tenga en cuenta que Aspose.Cells Cloud SDK para Node.js se desarrolló de acuerdo con principios de código abierto, por lo que el código fuente completo está disponible para descargar en GitHub. En caso de que tenga algún problema al usar la API o tenga alguna consulta relacionada, no dude en preguntar a través del foro de soporte gratuito del producto.

Artículos relacionados

Puede considerar visitar los siguientes enlaces para obtener más información sobre