使用python或shell命令打印到Windows打印机

时间:2012-07-31 21:28:04

标签: python windows

我正在尝试编写一个烦人的任务,该任务涉及获取,处理和打印已扫描文档的负载 - jpeg或pdf。我没有成功从python或windows shell(我可以使用python subproccess模块​​编写脚本)访问打印机。我成功使用lpr命令从命令行打印文本文件,但不是jpg或pdf。

很高兴有关于此的任何线索,包括更广泛的win shell参考打印到打印机,我在谷歌搜索stackoverflow搜索中错过了一个合适的python库(只有一个unanswered question

3 个答案:

答案 0 :(得分:2)

嗯,经过一番研究后,我找到了一些可能对你有帮助的链接:

1)要使用Python Shell打印图像,下面这个链接有一些使用PIL的代码,希望能够做你想做的事情: http://timgolden.me.uk/python/win32_how_do_i/print.html

2)要打印PDF文件,此链接可能包含您所需的内容: http://www.darkcoding.net/software/printing-word-and-pdf-files-from-python/

我从来没有做过任何这些事情,但通过快速浏览,我可以找到这些链接,它们似乎非常有意义。希望它有所帮助:)

答案 1 :(得分:2)

我用这个作为rtf(只是一个想法):

subprocess.call(['loffice', '-pt', 'LaserJet', file])

我正在使用LibreOffice。它可以批量模式打印。

答案 2 :(得分:2)

使用分配给您可以执行的系统的默认pdf查看器

 import win32api
 fname="C:\\somePDF.pdf"
 win32api.ShellExecute(0, "print", fname, None,  ".",  0)

请注意,这只适用于Windows并且不适用于所有pdf查看器,但它应该适用于acrobat和Foxit以及其他几个主要版本。