Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用COM接口打印Excel表格_Python_Excel_Pywin32_Win32com - Fatal编程技术网

Python 用COM接口打印Excel表格

Python 用COM接口打印Excel表格,python,excel,pywin32,win32com,Python,Excel,Pywin32,Win32com,我用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() 但

我用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格式? 谢谢,
Alex

您可以执行另存为PDF或打印为PDF。这将绕过打印驱动程序问题。

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

ws.ExportAsFixedFormat(0, 'c:\users\alex\foo.pdf')

不幸的是,这是Adobe PDF打印机驱动程序的默认行为。我发现PrintOut()区分大小写。嗯,好的,对不起,我该怎么做?