将 Excel 文件转换为 PDF 格式能确保文件的格式和布局在不同应用程序或设备上保持一致。此外,PDF 文件通常比 Excel 文件看起来更精致、更专业,因此很多官方报告和商业文件都采用此格式。本文将介绍如何使用 Spire.XLS for Python 通过代码将整个 Excel 工作簿或仅将单个 Excel 工作表转换为 PDF 文件。
安装 Spire.XLS for Python
本方案需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 Windows 中。
pip install Spire.XLS
如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
将整个 Excel 工作薄转为 PDF 文件
Spire.XLS for Python 提供的 Workbook.SaveToFile() 方法可以将整个 Excel 工作簿转换为一个 PDF 文件。转换后,每个工作表将在生成的 PDF 文件中显示为单独的一页。此外,要对转换选项进行设置,可使用 Workbook.ConverterSetting 属性。以下是详细步骤:
- 创建 Workbook 对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workheet.PageSetup 属性设置每个工作表的页边距,这些页边距即为生成的 PDF 文件的白边。
- 使用 Workbook.ConverterSetting 对象下的属性设置 Excel 到 PDF 的转换选项。
- 使用 Workbook.SaveToFile() 方法将整个 Excel 工作簿转换为 PDF文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 工作簿
workbook.LoadFromFile("Sample.xlsx")
# 遍历该工作簿中的所有工作表
for sheet in workbook.Worksheets:
# 获取 PageSetup 对象
pageSetup = sheet.PageSetup
# 设置页边距
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
# 设置转换时工作表适应页面
workbook.ConverterSetting.SheetFitToPage = True
# 将Excel工作簿转换为PDF文件
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
workbook.Dispose()
将指定 Excel 工作表转为 PDF 文件
要将某个指定的工作表转换为 PDF,可以使用 Worksheet.SaveToPdf() 方法。以下是详细步骤:
- 创建 Workbook 对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.Worksheets[] 属性获取特定工作表。
- 使用 Workheet.PageSetup 属性设置该工作表的页边距,即生成的 PDF 文件的白边。
- 使用 Workbook.ConverterSetting 对象下的属性设置 Excel 到 PDF 的转换选项。
- 使用 Worksheet.SaveToPdf()方法将该工作表转换为 PDF 文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("Sample.xlsx")
# 获取第二个工作表
sheet = workbook.Worksheets[1]
# 获取 PageSetup 对象
pageSetup = sheet.PageSetup
# 设置页边距
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
# 设置转换时工作表适应页面
workbook.ConverterSetting.SheetFitToPage = True
# 将该工作表保存为PDF文件
sheet.SaveToPdf("WorksheetToPdf.pdf")
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。