2010-05-20 170 views
1

我需要从Python脚本打印现有的PDF文件。以编程方式打印PDF文件 - 指定打印机

我需要能够在脚本中指定打印机。它在Windows XP上运行。

任何想法我可以做什么?

This method看起来会不同的是,我不能指定打印机工作:

win32api.ShellExecute (
    0, 
    "print", 
    filename, 
    None, 
    ".", 
    0 
) 
+0

片断你的意思是 “不能指定打印机”,而不是 “可以指定”,是吗? – msw 2010-05-20 23:47:10

+0

是的,我修正了这个,谢谢。 – Greg 2010-05-21 11:01:51

+0

我想你可以在[这个类似的帖子]中找到合适的答案(http://stackoverflow.com/questions/1462842/print-pdf-document-with-pythons-win32print-module) – bluish 2010-12-16 16:45:41

回答

0

请参阅本link进一步的细节

import tempfile 
import win32api 
import win32print 

filename = tempfile.mktemp (".txt") 
open (filename, "w").write ("This is a test") 
win32api.ShellExecute (
    0, 
    "print", 
    filename, 
    # 
    # If this is None, the default printer will 
    # be used anyway. 
    # 
    '/d:"%s"' % win32print.GetDefaultPrinter(), 
    ".", 
    0 
) 

这将工作请参阅提供link进一步的细节。

0

有一个未公开printto动词,采取打印机名称作为参数(引号括起来,如果它包含空格)

import tempfile 
import win32api 
import win32print 

filename = tempfile.mktemp (".txt") 
open (filename, "w").write ("This is a test") 
win32api.ShellExecute (
    0, 
    "printto", 
    filename, 
    '"%s"' % win32print.GetDefaultPrinter(), 
    ".", 
    0 
) 

Ja8zyjitslink