Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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 打印pdf后关闭Adobe Acrobat PRO DC_Python_Pdf_Printing_Adobe - Fatal编程技术网

Python 打印pdf后关闭Adobe Acrobat PRO DC

Python 打印pdf后关闭Adobe Acrobat PRO DC,python,pdf,printing,adobe,Python,Pdf,Printing,Adobe,我正在尝试创建一个脚本,它使用特定的打印机驱动程序打印每个现有的pdf。我在Windows10上工作。我认为最好的方法是更改每个文件的默认驱动程序,例如: import win32print import win32api # print testfile1.pdf with copy 1 of the driver # which has default "print on both sides" win32print.SetDefaultPrinter('iR 5880C EUR(1)'

我正在尝试创建一个脚本,它使用特定的打印机驱动程序打印每个现有的pdf。我在Windows10上工作。我认为最好的方法是更改每个文件的默认驱动程序,例如:

import win32print
import win32api

# print testfile1.pdf with copy 1 of the driver
# which has default "print on both sides"

win32print.SetDefaultPrinter('iR 5880C EUR(1)')
win32api.ShellExecute(0,'print','testfile1.pdf','.',None,0)


# print testfile2.pdf with copy 2 of the driver
# which has default "print on 1 side"

win32print.SetDefaultPrinter('iR 5880C EUR(2)')
win32api.ShellExecute(0,'print','testfile2.pdf','.',None,0)

但是当打印testfile1.pdf时,testfile2.pdf使用相同的驱动程序打印。原因是这些文件是使用Adobe Acrobat PRO DC打印的,在打印testfile1.pdf后需要关闭Adobe Acrobat PRO DC才能知道默认打印机已更改。打印testfile1.pdf后是否有办法关闭Adobe Acrobat PRO DC?

我估计在每次作业后都会结束与Adobe Acrobat PRO相关的流程。这可以通过win32process.TerminateProcess处理。win32process.CreateProcess返回TerminateProcess所需的PyHANDLE参数。希望这能有所帮助。

非常感谢你,格拉罗斯。你能给我一个例子,说明如何在我的代码中实现win32process.TerminateProcess吗?win32process.TerminateProcess有两个参数(整数)。您能告诉我如何找出应该放哪些整数吗?这是python win32扩展的一个有用站点: