Excel в PDF

Конвертируйте Excel в PDF с помощью Node.js

Excel — один из популярных форматов файлов для хранения вычислительных данных. Он способен хранить такие данные, как числа и формулы, текст и чертежи. Кроме того, Excel является частью пакета программного обеспечения Microsoft Office, поэтому многие пользователи используют его для создания файлов XLS. Кроме того, благодаря его возможностям хранения данных в сетке ячеек, организованных в пронумерованные строки и столбцы с буквенными названиями для организации манипуляций с данными, таких как арифметические операции, он стал очень популярным. Но для просмотра этих файлов вам необходимо установить определенное приложение. Кроме того, различные версии программного обеспечения отображают файлы в различном форматировании. Поэтому для решения всех этих проблем преобразование файла в формат PDF является жизнеспособным решением, поскольку большинство веб-браузеров на настольных компьютерах и различные бесплатные приложения на мобильных устройствах удобно отображают документы PDF.

В этой статье мы рассмотрим преобразование Excel в PDF с использованием Cloud REST API.

API преобразования Excel в PDF

Aspose.Cells Cloud — это наш отмеченный наградами REST API, предлагающий возможности создания файлов Excel с нуля, редактирования содержимого существующих файлов и рендеринга файлов в такие форматы, как XLSM, HTML, XPS, TIFF, SVG и многие другие. Итак, в рамках этой статьи мы будем использовать Aspose.Cells Cloud SDK для Node.js.

Конвертируйте Excel в PDF с помощью команд cURL

В этом разделе мы будем использовать команды cURL для сохранения Excel в формате PDF. Поэтому первым шагом будет создание бесплатной подписки на панели управления Aspose.Cloud. Если у вас есть учетная запись GitHub или Google, просто зарегистрируйтесь. В противном случае нажмите кнопку Создать новую учетную запись и укажите необходимую информацию. Войдите в панель управления, чтобы получить доступ к своим учетным данным клиента.

Теперь выполните следующую команду, чтобы сгенерировать токен доступа 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"

Получив токен JWT, нам необходимо выполнить следующую команду cURL, чтобы загрузить файл из локальной системы в облачное хранилище, а затем выполнить преобразование в формат 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

Если вам необходимо выполнить преобразование файла XLS, уже имеющегося в облачном хранилище, в формат PDF, попробуйте использовать следующую команду 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>"

Конвертировать XLS в PDF в Node.js

В этом разделе мы обсудим шаги и подробности того, как выполнить преобразование листа Excel в формат PDF с помощью Node.js SDK. Первым шагом является установка SDK на локальной системе, который доступен для загрузки на NPM и GitHub. Поэтому мы собираемся запустить следующую команду для установки SDK из NPM

npm i asposecellscloud

После установки мы можем выполнить следующий фрагмент кода для преобразования XLS в PDF с помощью Node.js

  • Создайте объекты, определяющие данные Client ID и Client Secret.
  • Затем создайте объект класса CellsApi, который принимает в качестве аргументов данные Client ID и Client Secret.
  • Следующим шагом является чтение содержимого входного XLS-файла, доступного в локальной системе, с помощью метода createReadStream(…) модуля файловой системы.
  • Теперь создайте экземпляр класса UploadFileRequest, а затем передайте входные данные потока в свойство файла.
  • Чтобы загрузить файл в облачное хранилище, вызовите метод uploadFile(…) CellsApi.
  • Следующим шагом будет создание объекта класса CellsSaveAsPostDocumentSaveAsRequest(…).
  • Кроме того, создайте экземпляр класса PdfSaveOptions и передайте значение PDF свойству saveFormat.
  • Наконец, вызовите метод cellsSaveAsPostDocumentSaveAs(..) класса CellsApi, чтобы инициировать процесс преобразования.
const { CellsApi, CellsSaveAs_PostDocumentSaveAsRequest,UploadFileRequest,PdfSaveOptions } = require("asposecellscloud");

// Получите свой ClientId и ClientSecret с https://dashboard.aspose.cloud (требуется бесплатная регистрация).
const clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
const clientSecret = "388e864b819d8b067a8b1cb625a2ea8e";

// создать экземпляр CellsApi
const cellsApi = new CellsApi(clientId, clientSecret);

// имя входного документа Excel
filename = "conditional.xlsx"

// включите ссылку на модуль файловой системы в свой код
const fs = require("fs");

// прочитать содержимое входного файла Excel
var data =fs.createReadStream("/Users/nayyershahbaz/Downloads/"+ filename);

// создать экземпляр запроса FileUpload
var req = new UploadFileRequest();
req.path = filename;
// установить содержимое как экземпляр потока, содержащий загруженный файл Excel
req.file = data;

// Загрузите файл в облачное хранилище
return cellsApi.uploadFile(req)
    .then((result) => {
        // Создать экземпляр документа SaveAsRequest
        var req = new CellsSaveAs_PostDocumentSaveAsRequest();
        req.name = filename;

        // Создать объект класса PdfSaveOptions
        req.saveOptions = new PdfSaveOptions();
  
        // установить формат полученного файла как PDF
        req.saveOptions.saveFormat = "pdf";
        
        // задать имя для нового результирующего файла
        req.newfilename = "newbook.pdf";
        // поскольку мы собираемся сохранить в папке по умолчанию, то установим null в качестве значения папки        
        req.folder = null;
    
        // Вызовите метод SaveAsPostDocument, чтобы инициировать процесс преобразования.     
        return cellsApi.cellsSaveAsPostDocumentSaveAs(req)
            .then((result) => {
            expect(result.body.code).to.equal(200);
            expect(result.response.statusCode).to.equal(200);
        });
    });

Заключение

В этой статье мы обсудили детали, касающиеся преобразования Excel в формат PDF простым и удобным способом. Обратите внимание, что Aspose.Cells Cloud SDK для Node.js разработан в соответствии с принципами открытого исходного кода, поэтому полный исходный код доступен для загрузки на GitHub. Если у вас возникнут какие-либо проблемы при использовании API или у вас возникнут какие-либо вопросы, не стесняйтесь обращаться через бесплатный форум поддержки продукта.

Похожие статьи

Вы можете посетить следующие ссылки, чтобы узнать больше о