使用python的win32print模块打印PDF文档?

我正在尝试使用win32print模块打印PDF文档。显然,此模块只能接受PCL或原始文本。那是对的吗?

如果是这样,是否有可用的模块将PDF文档转换为PCL?

我打算使用ShellExecute;但是,这不是选项,因为它仅允许使用默认打印机进行打印。我需要打印到跨各种网络的服务器上的各种打印机。

谢谢你的帮助,皮特

回答:

我最终使用Ghostscript完成了此任务。有一个依赖于Ghostscript的命令行工具gsprint。

您甚至不需要安装Acrobat即可以这种方式打印PDF,这非常不错。

这是一个例子:

在命令行上:

gsprint -printer \\server\printer "test.pdf"

从python:

win32api.ShellExecute(0, 'open', 'gsprint.exe', '-printer "\\\\' + self.server + '\\' + self.printer_name + '" ' + file, '.', 0)

请注意,在这些示例中,我已将其添加到PATH变量中,因此在调用可执行文件时不必包括整个路径。

但是有一个缺点。该代码是根据GPL许可的,因此在商业软件中并不是很有用。

希望这对某人有帮助,皮特

以上是 使用python的win32print模块打印PDF文档? 的全部内容, 来源链接: utcz.com/qa/416339.html

回到顶部