如果您需要与他人共享Excel文件内容,但不希望Excel被编辑或修改,可以将Excel转换为PDF以确保内容的完整性和一致性。且PDF是一种通用的文件格式,可以在不同操作系统进行共享和查看,方便长期存档或归档。本文将介绍如何使用 Spire.XLS for Python整个 Excel 工作簿或仅将单个 Excel 工作表转换为 PDF 文件。

  • 将整个 Excel workbook保存为 PDF 文件
  • 将指定 Excel worksheet保存为 PDF 文件

安装 Spire.XLS for Python

可通过pip 命令轻松将Spire.XLS for Python添加至项目中:

pip install Spire.XLS

将整个 Excel workbook转为 PDF 文件

Spire.XLS for Python 提供 Workbook.SaveToFile() 方法可以将整个 Excel 工作簿另存为 PDF 文件。转换后的PDF文档将按页面生成,每个工作表生成一个页面,例如,如果工作簿中有3个工作表,则会生成一个包含3页的PDF文档。

  • 创建 Workbook 对象。
  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 使用 Workheet.PageSetup 属性设置每个工作表的页边距,这些页边距即为生成的 PDF 文件的白边。
  • 使用 Workbook.ConverterSetting 对象下的属性设置 Excel 到 PDF 的转换选项。
  • 使用 Workbook.SaveToFile() 方法将整个 Excel 工作簿转换为 PDF文件。
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()

Python 转Excel 到PDF_Python

将特定 Excel 工作表转为PDF 文件

Spire.XLS for Python 也提供Worksheet.SaveToPdf() 方法将指定的 Excel worksheet保存为 PDF。

  • 创建Workbook对象。
  • 使用Workbook.LoadFromFile()方法加载 Excel 文件。
  • 使用Workbook.Worksheets[]属性获取特定工作表。
  • 使用Workheet.PageSetup属性设置该工作表的页边距,即生成的 PDF 文件的白边。
  • 使用Workbook.ConverterSetting对象下的属性设置 Excel 到 PDF 的转换选项。
  • 使用Worksheet.SaveToPdf()方法将该特定工作表worksheet转换为 PDF 文件。
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()

Python 转Excel 到PDF_属性设置_02

总结

Spire.XLS for Python不仅支持将Excel文档保存为PDF, 还支持将Excel保存为国产化版式文档OFD,将  Excel 保存为图片等。 Spire.XLS for Python是独立的Excel组件,无需依赖Microsoft Office Excel。兼容国产操作系统,可以在中标麒麟和中科方德等国产操作系统中正常运行。