Excel 電子表格廣泛用於維護髮票、分類帳、庫存、賬戶和其他報告。 Excel 到 PDF 的轉換允許以可移植的形式與他人共享 Excel 數據。作為 Node.js 開發人員,您可以在雲端以編程方式輕鬆地將 Excel 電子表格轉換為 PDF 文檔。在本文中,您將學習如何使用 Node.js 將 Excel 電子表格轉換為 PDF。
本文應涵蓋以下主題:
- Excel 到 PDF 轉換 REST API 和 Node.js SDK
- 在 Node.js 中使用 REST API 將 Excel 轉換為 PDF
- 在 Node.js 中將特定的 Excel 電子表格轉換為 PDF
- 使用高級選項將 Excel 轉換為 PDF
- 不使用雲存儲將 Excel 轉換為 PDF
- 將 Excel 轉換為 PDF 並添加水印
Excel 到 PDF 轉換 REST API 和 Node.js SDK
為了將 XLSX 轉換為 PDF,我將使用 GroupDocs.Conversion Cloud 的 Node.js SDK API。 API 允許您將文檔轉換為您需要的任何格式。支持Word、Excel、PowerPoint, PDF、HTML、JPG、PNG、CAD等50多種文檔和圖片的轉換。它還為雲 API 提供 .NET、Java、PHP、Ruby、Android 和 Python SDK 作為其文檔轉換家族成員。
您可以在控制台中使用以下命令將 GroupDocs.Conversion Cloud 安裝到您的 Node.js 應用程序:
npm install groupdocs-conversion-cloud
在開始執行步驟和可用代碼示例之前,請從 dashboard 獲取您的 Client ID 和 Client Secret。獲得 ID 和密碼後,添加如下所示的代碼:
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const config = new groupdocs_conversion_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";
在 Node.js 中使用 REST API 將 Excel 轉換為 PDF
您可以按照以下簡單步驟將 Excel 電子表格轉換為雲上的 PDF 文檔:
- 上傳XLSX文件到雲端
- 使用 Node.js 將 Excel 轉換為 PDF
- 下載轉換後的PDF文件
上傳 Excel 文件
首先,使用以下代碼示例將 XLSX 文件上傳到雲端:
// 從本地/光盤打開 IOStream 中的文件。
var resourcesFolder = 'C:\\Files\\sample.xlsx';
fs.readFile(resourcesFolder, (err, fileStream) => {
// 構建FileApi
var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
// 創建上傳文件請求
var request = new groupdocs_conversion_cloud.UploadFileRequest("sample.xlsx", fileStream, myStorage);
// 上傳文件
fileApi.uploadFile(request);
});
因此,上傳的 XLSX 文件將在雲端儀表板的 文件部分 中可用。
使用 Node.js 將 Excel 轉換為 PDF
您可以按照下面提到的步驟以編程方式輕鬆地將 XLSX 轉換為 PDF 文檔:
- 創建 ConvertApi 的實例
- 創建 ConvertSettings 的實例
- 設置 XLSX 文件路徑
- 將“pdf”分配給格式
- 提供輸出文件路徑
- 使用 ConvertSettings 創建 ConvertDocumentRequest
- 通過使用 ConvertDocumentRequest 調用 ConvertApi.convertDocument() 方法進行轉換
以下代碼示例展示瞭如何使用 Node.js 中的 REST API 將 Excel 電子表格轉換為 PDF 文檔。
// 初始化接口
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// 定義轉換設置
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.xlsx"; // input file path
settings.format = "pdf"; // convert format
settings.outputPath = "output"; // output file folder on the cloud storage
// 創建轉換文檔請求
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// 轉換文檔
let result = await convertApi.convertDocument(request);
// 顯示轉換後的文件路徑
console.log("Document converted successfully: " + result[0].url);
下載轉換後的文件
上面的代碼示例會將轉換後的 PDF 文件保存在雲端。您可以使用以下代碼示例下載它:
// 構造FileApi
var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
// 創建下載文件請求
let request = new groupdocs_conversion_cloud.DownloadFileRequest("output/sample.pdf", myStorage);
// 下載文件
let response = await fileApi.downloadFile(request);
// 複製文件到工作目錄
fs.writeFile("C:\\Files\\converted.pdf", response, "binary", function (err) { });
console.log(response);
在 Node.js 中將特定的 Excel 電子表格轉換為 PDF
您可以按照以下步驟以編程方式將特定的 Excel 電子表格轉換為 PDF 文檔:
- 創建 ConvertApi 的實例
- 創建 ConvertSettings 的實例
- 設置 XLSX 文件路徑
- 將“pdf”分配給格式
- 提供輸出文件路徑
- 創建 PdfConvertOptions 的實例
- 提供特定的電子表格進行轉換
- 設置 PdfConvertOptions
- 使用 ConvertSettings 創建 ConvertDocumentRequest
- 通過使用 ConvertDocumentRequest 調用 ConvertApi.convertDocument() 方法進行轉換
以下代碼示例展示瞭如何使用 Node.js 中的 REST API 將特定的 Excel 電子表格轉換為 PDF 文檔。
// 初始化接口
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// 定義轉換設置
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.xlsx";
settings.format = "pdf";
// 定義 PDF 轉換選項
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.pages = [1]; // define pages (sheets) to convert
settings.convertOptions = convertOptions
settings.outputPath = "specific_pages.pdf";
// 創建轉換文檔請求
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// 轉換文檔
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);
使用高級選項將 Excel 轉換為 PDF
請按照下面提到的步驟使用一些高級設置將 XLSX 轉換為 PDF 文檔:
- 創建 ConvertApi 的實例
- 創建 ConvertSettings 的實例
- 設置 XLSX 文件路徑
- 將“pdf”分配給格式
- 提供輸出文件路徑
- 創建 SpreadsheetLoadOptions 的實例
- 設置各種加載選項,例如 hideComments、onePagePerSheet 等。
- 創建 PdfConvertOptions 的實例
- 設置各種轉換選項,例如 displayDocTitle、fromPage、pagesCount、頁邊距(頂部、左側、右側、底部)等。
- 使用 ConvertSettings 創建 ConvertDocumentRequest
- 通過使用 ConvertDocumentRequest 調用 ConvertApi.convertDocument() 方法進行轉換
以下代碼示例顯示如何使用高級轉換選項將 Excel 電子表格轉換為 PDF 文檔。
// 初始化接口
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// 定義轉換設置
var settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.storageName = myStorage;
settings.filePath = "sample.xlsx";
settings.format = "pdf";
// 定義電子表格加載選項
var loadOptions = new groupdocs_conversion_cloud.SpreadsheetLoadOptions();
loadOptions.hideComments = true; // hide comments
loadOptions.onePagePerSheet = true; // set one page per sheet
settings.loadOptions = loadOptions;
// 定義 PDF 轉換選項
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.centerWindow = true; // set position of the document's window. Default: false.
convertOptions.displayDocTitle = true; // display document title. Default: false
convertOptions.fromPage = 2; // Start conversion from
convertOptions.pagesCount = 3; // Number of pages(sheets) to convert
convertOptions.marginTop = 5; // top margin
convertOptions.marginLeft = 5; // left margin
settings.convertOptions = convertOptions;
settings.outputPath = "converted.pdf";
// 創建轉換文檔請求
var request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// 創建文檔
convertApi.convertDocument(request)
不使用雲存儲將 Excel 轉換為 PDF
您可以按照以下步驟在不使用雲存儲的情況下將 Excel 電子表格轉換為 PDF 文檔:
- 創建 ConvertApi 的實例
- 從本地路徑讀取輸入 XLSX 文件
- 創建 ConvertDocumentDirectRequest
- 提供目標格式和輸入文件路徑作為輸入參數
- 使用 ConvertDocumentDirectRequest 調用 convertDocumentDirect() 方法獲取結果
- 使用 FileStream.writeFile() 方法將輸出文件保存到本地路徑
以下代碼示例顯示如何在不使用雲存儲的情況下將 Excel 電子表格轉換為 PDF 文檔。這意味著您將在請求正文中傳遞輸入文件,並在 API 響應中接收輸出文件。
// 初始化接口
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// 從本地路徑讀取文件
let file = fs.readFileSync('C:\\Files\\sample.xlsx');
// 創建轉換文檔直接請求
let request = new groupdocs_conversion_cloud.ConvertDocumentDirectRequest("pdf", file);
// 轉換文檔
let result = await convertApi.convertDocumentDirect(request);
// 將輸出文件保存到指定路徑
fs.writeFile("C:\\Files\\sample_direct.pdf", result, "binary", function (err) { });
console.log("Document converted: " + result.length);
將 Excel 轉換為 PDF 並添加水印
您可以按照以下步驟將 Excel 電子表格轉換為帶水印的 PDF 文檔:
- 創建 ConvertApi 的實例
- 創建 ConvertSettings 的實例
- 設置 XLSX 文件路徑
- 將“pdf”分配給格式
- 提供輸出文件路徑
- 創建 WatermarkOptions 的實例
- 設置水印文字、顏色、寬度、高度等。
- 定義 PdfConvertOptions 並分配 WatermarkOptions
- 使用 ConvertSettings 創建 ConvertDocumentRequest
- 通過使用 ConvertDocumentRequest 調用 ConvertApi.convertDocument() 方法進行轉換
下面的代碼示例展示瞭如何使用 Node.js 中的 REST API 將 Excel 電子表格轉換為 PDF 文檔並向轉換後的 PDF 文檔添加水印。
// 初始化接口
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// 定義轉換設置
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.xlsx";
settings.format = "pdf";
settings.outputPath = "converted";
// 定義水印選項
let watermark = new groupdocs_conversion_cloud.WatermarkOptions();
watermark.text = "CONFIDENTIAL";
watermark.bold = true;
watermark.fontSize = 44;
watermark.color = "Gray";
watermark.background = false;
watermark.rotationAngle = 30;
watermark.left = 100;
watermark.top = 250;
// 定義 PDF 轉換選項
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.watermarkOptions = watermark;
// 分配轉換選項
settings.convertOptions = convertOptions
// 創建轉換文檔請求
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// 轉換文檔
let result = await convertApi.convertDocument(request);
// 顯示輸出文檔路徑
console.log("Document converted successfully: " + result[0].url);
在線試用
請試用以下免費的在線 XLSX 到 PDF 轉換工具,它是使用上述 API 開發的。 https://products.groupdocs.app/conversion/xlsx-to-pdf
結論
在本文中,您了解瞭如何將 Excel 轉換為雲上的 PDF 文檔。您還學習瞭如何使用 Node.js 向轉換後的 PDF 文檔添加水印。此外,您還學習瞭如何在不使用雲存儲的情況下將 Excel 電子表格轉換為 PDF 文檔。此外,您還學習瞭如何以編程方式將 XLSX 文件上傳到雲端,然後從雲端下載轉換後的文件。您可以使用 文檔 了解有關 GroupDocs.Conversion Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。