【发布时间】:2018-05-06 06:24:30
【问题描述】:
我有一个打印 PDF 文件的 Python 脚本。
该脚本使用win32api.ShellExecute() 工作,一切都很好,但现在,我需要打印具有双面内容的 PDF 文件,具体的用户手册。
我已经尝试在 win32print 中设置双面模式,但没有任何效果,打印机仍然在 2 张纸上为我的 PDF 打印 2 页,而不是在双面纸上打印两页。
打印机在其他应用程序中使用此模式,但使用 python 脚本效果不佳。
这是我用来打印的代码的一部分:
name = win32print.GetDefaultPrinter()
printdefaults = {"DesiredAccess": win32print.PRINTER_ALL_ACCESS}
handle = win32print.OpenPrinter(name, printdefaults)
level = 2
attributes = win32print.GetPrinter(handle, level)
attributes['pDevMode'].Duplex
attributes['pDevMode'].Duplex = 1
win32print.SetPrinter(handle, level, attributes, 0)
win32print.GetPrinter(handle, level)['pDevMode'].Duplex
win32api.ShellExecute(0,'print','file.pdf','.','/route',0)
知道为什么这不起作用吗?谢谢。
【问题讨论】:
标签: python pdf printing pywin32 shellexecute