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 并与之交互。如有任何歧义,请随时在论坛上与我们联系。