5

我在 python 中以编程方式用 xlwt 制作了一堆 Excel 工作表。一切都很好,但现在我需要将它们全部转换为 pdf。我一直在尝试用 pywin32 和 com 接口来做到这一点。我可以像这样走得更近一些:

import win32com.client
o = win32com.client.Dispatch("Excel.Application")
o.Visible = 1
wb = o.Workbooks.Open('foo.xls')
ws = wb.Worksheets[1]
ws.printout()

但不幸的是,当我这样做时,它会弹出 adobe 打印机屏幕,询问我要将 pdf 保存到的路径,如果我必须输入该路径或在每个页面上单击“确定”,它就违背了以编程方式执行此操作的目的。有什么方法可以在 python 代码中输入这个路径而不是手动输入?有没有更好的方法将这些工作簿中的每一个工作表转换为 pdf?非常感谢,亚历克斯

4

2 回答 2

4

不要使用该PrintOut方法,而是使用ExportAsFixedFormat. 您可以指定 pdf 格式并提供文件名。尝试这个:

ws.ExportAsFixedFormat(0, 'c:\users\alex\foo.pdf')
于 2012-02-01T06:22:36.950 回答
0

您可以保存为 PDF 或打印为 PDF。那应该绕过您的打印驱动程序问题。

于 2012-02-01T02:40:31.220 回答