我可以使用PyWin32通过网络打印机成功打印测试页,并使用以下代码更改纸盘:
device_name = "Printer Name"
handle = win32print.OpenPrinter(device_name)
properties = win32print.GetPrinter(handle, 2)
devmode = properties['pDevMode']
devmode.DefaultSource = 260
devmode.Fields = devmode.Fields | DM_DEFAULT_SOURCE
win32print.DocumentProperties(None, handle, device_name, devmode, devmode,
DM_IN_BUFFER | DM_OUT_BUFFER)
hdc = win32gui.CreateDC('', device_name, devmode)
win32print.StartDoc(hdc, ('Test', None, None, 0))
win32print.StartPage(hdc)
win32print.EndPage(hdc)
win32print.EndDoc(hdc)
我的问题是,如果要打印特定文件,该文件名放在哪里?
答案 0 :(得分:0)
文件名将在StartDoc
中提供,其中第二个参数是DOCINFO
的元组
例如,这将以文件名'test.pdf'打印到PDF打印机:
hdc = win32gui.CreateDC('', device_name, devmode)
win32print.StartDoc(hdc, ('Test', 'test.pdf', None, 0))
win32print.StartPage(hdc)
int = StartDoc(hdc, docinfo )
开始在打印机设备上下文上后台处理打印作业
参数
返回的打印机设备上下文句柄
hdc : PyHANDLE
win32gui::CreateDC
docinfo : tuple
DOCINFO
元组指定打印作业参数