
使用 Node.js 將 Excel 轉換為 PDF
Excel 是儲存運算資料的熱門檔案格式之一。它能夠儲存數字、公式、文字和繪圖形狀等資料。此外,Excel 是 Microsoft Office Suite 軟體的一部分,因此許多使用者使用它來產生 XLS 檔案。此外,由於它能夠將資料儲存在按編號行和字母命名的列排列的單元格網格中,以組織算術運算等資料操作,因此它變得非常流行。但為了查看這些文件,您需要安裝特定的應用程式。此外,不同版本的軟體以不同的格式顯示檔案。因此,為了解決所有這些問題,將文件轉換為 PDF 格式是一個可行的解決方案,因為大多數桌面上的網頁瀏覽器和行動裝置上的各種免費應用程式都可以輕鬆顯示 PDF 文件。
在本文中,我們將討論使用 Cloud REST API 將 Excel 轉換為 PDF。
Excel 到 PDF 轉換 API
Aspose.Cells Cloud 是我們屢獲殊榮的 REST API,提供從頭開始建立 Excel 檔案、編輯現有檔案內容以及將檔案呈現為 XLSM、HTML、XPS、TIFF、SVG 等格式的功能。因此,根據本文的範圍,我們將使用 Aspose.Cells Cloud SDK for Node.js。
使用 cURL 指令將 Excel 轉換為 PDF
在本節中,我們將使用 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>"
在 Node.js 中將 XLS 轉換為 PDF

在本節中,我們將討論如何使用 Node.js SDK 將 Excel 工作表轉換為 PDF 格式的步驟和細節。第一步是在本機系統上安裝 SDK,可以從 NPM 和 GitHub 下載。因此,我們將執行以下命令從 NPM 安裝 SDK
npm i asposecellscloud
安裝後,我們可以執行以下程式碼片段,使用 Node.js 將 XLS 轉換為 PDF
- 建立定義客戶端 ID 和客戶端機密詳細資訊的物件。
- 然後建立一個 CellsApi 類別的對象,該對像以客戶端 ID 和客戶端機密詳細資訊作為參數。
- 下一步是使用檔案系統模組的 createReadStream(…) 方法讀取本機系統上可用的輸入 XLS 檔案的內容。
- 現在建立 UploadFileRequest 類別的一個實例,然後將輸入流資料傳遞給檔案屬性。
- 為了將檔案上傳到雲端存儲,請呼叫CellsApi的uploadFile(…)方法。
- 下一步是建立 CellsSaveAsPostDocumentSaveAsRequest(…) 類別的物件。
- 此外,建立 PdfSaveOptions 類別的實例並將 PDF 的值傳遞給 saveFormat 屬性。
- 最後,呼叫 CellsApi 類別的 cellsSaveAsPostDocumentSaveAs(..) 方法啟動轉換過程。
const { CellsApi, CellsSaveAs_PostDocumentSaveAsRequest,UploadFileRequest,PdfSaveOptions } = require("asposecellscloud");
// 從 https://dashboard.aspose.cloud 取得您的 ClientId 和 ClientSecret(需要免費報名)。
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 檔案的 Stream 實例
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 for Node.js 是根據開源原則開發的,因此完整的原始程式碼可在GitHub下載。如果您在使用 API 時遇到任何問題或有任何相關疑問,請隨時透過 免費產品支援論壇 詢問。
相關文章
您可以考慮訪問以下連結以了解更多信息