python - 使用 COM 接口(interface)打印 Excel 工作表

标签 python excel pywin32 win32com

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

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? 非常感谢, 亚历克斯

最佳答案

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

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

关于python - 使用 COM 接口(interface)打印 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9089747/

相关文章:

python - 从另一个应用程序的表单/字段获取文本

python - audioop.rms() - 为什么它与普通 RMS 不同?

python - 在 Python 中检查当前线程是否是主线程

excel - 使用可变 Excel 范围在自动筛选 VBA 中使用

java - 如何在 apache POI 中读取 excel 文件的确切单元格内容

vba - 在VBA中对数组进行排序

python - 没有名为 unohelper 的模块

python - 如何将 ML 模型的前后处理合并为 ONNX 格式

windows - python win32com FileSystemObject 获取巨大文件夹失败

python - 创建文件时找不到 Pywin32