Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 使用PyWin32打印:文件名放在哪里?_Python_File_Printing_Pywin32_Network Printers - Fatal编程技术网

Python 使用PyWin32打印:文件名放在哪里?

Python 使用PyWin32打印:文件名放在哪里?,python,file,printing,pywin32,network-printers,Python,File,Printing,Pywin32,Network Printers,我可以使用PyWin32通过网络打印机成功打印测试页,并使用以下代码更改纸盘: device_name = "Printer Name" handle = win32print.OpenPrinter(device_name) properties = win32print.GetPrinter(handle, 2) devmode = properties['pDevMode'] devmode.DefaultSource = 260 devmode.Fields = devm

我可以使用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)

我的问题是,如果我想打印一个特定的文件,我应该把文件名放在哪里?

文件名将在
StartDoc
中提供,其中第二个参数是tuple for

例如,这将打印到文件名为“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
指定打印作业参数的元组


这将生成具有指定名称的文件,但我正在尝试将现有文件发送到打印机?