Excel para PDF

Converter Excel em PDF usando Node.js

O Excel é um dos formatos de arquivo populares para armazenamento de dados de computação. Ele é capaz de armazenar dados como números e fórmulas, texto e formas de desenho. Além disso, o Excel faz parte do pacote de software Microsoft Office, então muitos usuários o usam para produzir os arquivos XLS. Além disso, devido às suas capacidades de armazenar dados em uma grade de células organizadas em linhas numeradas e colunas com nomes de letras para organizar manipulações de dados como operações aritméticas, ele se tornou muito popular. Mas para visualizar esses arquivos, você precisa ter um aplicativo específico instalado. Além disso, várias versões de software exibem os arquivos em formatações diferentes. Portanto, para resolver todos esses problemas, a conversão do arquivo para o formato PDF é uma solução viável porque a maioria dos navegadores da web em desktops e vários aplicativos gratuitos em dispositivos móveis exibem convenientemente documentos PDF.

Neste artigo, discutiremos a conversão do Excel para PDF usando a API REST do Cloud.

API de conversão de Excel para PDF

Aspose.Cells Cloud é nossa premiada API REST que oferece os recursos para criar arquivos Excel do zero, editar o conteúdo nos arquivos existentes e renderizar o arquivo em formatos como XLSM, HTML, XPS, TIFF, SVG e muito mais. Então, de acordo com o escopo deste artigo, usaremos Aspose.Cells Cloud SDK para Node.js.

Converter Excel em PDF usando comandos cURL

Nesta seção, usaremos os Comandos cURL para salvar o Excel no formato PDF. Então, o primeiro passo é criar uma assinatura de conta gratuita no painel Aspose.Cloud. Se você tiver uma conta GitHub ou Google, basta se inscrever. Caso contrário, clique no botão Criar uma nova conta e forneça as informações necessárias. Faça login no painel para acessar suas Credenciais do cliente.

Agora, execute o seguinte comando para gerar o token de acesso 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"

Depois que tivermos o token JWT, precisamos executar o seguinte comando cURL para carregar um arquivo do sistema local para o armazenamento em nuvem e, em seguida, realizar a conversão para o 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

Caso você precise realizar a conversão de um arquivo XLS já disponível no armazenamento em nuvem para o formato PDF, tente utilizar o seguinte 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>"

Converter XLS para PDF em Node.js

Nesta seção, discutiremos as etapas e os detalhes sobre como executar a conversão da planilha do Excel para o formato PDF usando o Node.js SDK. O primeiro passo é instalar o SDK no sistema local, que está disponível para download em NPM e GitHub. Então, executaremos o seguinte comando para instalar o SDK do NPM

npm i asposecellscloud

Após a instalação, podemos executar o seguinte trecho de código para realizar a conversão de XLS para PDF usando Node.js

  • Crie objetos definindo detalhes do ID do cliente e do segredo do cliente.
  • Em seguida, crie um objeto da classe CellsApi que receba os detalhes do ID do cliente e do segredo do cliente como argumentos.
  • O próximo passo é ler o conteúdo do arquivo XLS de entrada disponível no sistema local usando o método createReadStream(…) do Módulo do Sistema de Arquivos.
  • Agora crie uma instância da classe UploadFileRequest e passe os dados de entrada do Stream para a propriedade do arquivo.
  • Para enviar o arquivo para o armazenamento em nuvem, chame o método uploadFile(…) do CellsApi.
  • O próximo passo é criar um objeto da classe CellsSaveAsPostDocumentSaveAsRequest(…).
  • Além disso, crie uma instância da classe PdfSaveOptions e passe o valor de PDF para a propriedade saveFormat.
  • Por fim, chame o método cellsSaveAsPostDocumentSaveAs(..) da classe CellsApi para iniciar o processo de conversão.
const { CellsApi, CellsSaveAs_PostDocumentSaveAsRequest,UploadFileRequest,PdfSaveOptions } = require("asposecellscloud");

// Obtenha seu ClientId e ClientSecret em https://dashboard.aspose.cloud (é necessário registro gratuito).
const clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
const clientSecret = "388e864b819d8b067a8b1cb625a2ea8e";

// crie uma instância de CellsApi
const cellsApi = new CellsApi(clientId, clientSecret);

// nome do documento Excel de entrada
filename = "conditional.xlsx"

// inclua a referência do módulo File System no seu código
const fs = require("fs");

// leia o conteúdo do arquivo Excel de entrada
var data =fs.createReadStream("/Users/nayyershahbaz/Downloads/"+ filename);

// criar instância de solicitação FileUpload
var req = new UploadFileRequest();
req.path = filename;
// defina o conteúdo como instância de Stream contendo o arquivo Excel carregado
req.file = data;

// Carregue o arquivo para o armazenamento em nuvem
return cellsApi.uploadFile(req)
    .then((result) => {
        // Criar instância do documento SaveAsRequest
        var req = new CellsSaveAs_PostDocumentSaveAsRequest();
        req.name = filename;

        // Crie um objeto da classe PdfSaveOptions
        req.saveOptions = new PdfSaveOptions();
  
        // defina o formato do arquivo resultante como PDF
        req.saveOptions.saveFormat = "pdf";
        
        // defina o nome para o novo arquivo resultante
        req.newfilename = "newbook.pdf";
        // já que vamos salvar no local padrão, então definiremos nulo como valor da pasta        
        req.folder = null;
    
        // Chame o método SaveAsPostDocument para iniciar o processo de conversão     
        return cellsApi.cellsSaveAsPostDocumentSaveAs(req)
            .then((result) => {
            expect(result.body.code).to.equal(200);
            expect(result.response.statusCode).to.equal(200);
        });
    });

Conclusão

Neste artigo, discutimos os detalhes sobre a conversão do Excel para o formato PDF de uma maneira simples e conveniente. Observe que o Aspose.Cells Cloud SDK para Node.js é desenvolvido de acordo com os princípios de código aberto, portanto, o código-fonte completo está disponível para download em GitHub. Caso você encontre algum problema ao usar a API ou tenha alguma dúvida relacionada, não hesite em perguntar por meio do Fórum de suporte gratuito ao produto.

Artigos relacionados

Você pode considerar visitar os seguintes links para saber mais sobre