2015-09-24 99 views
1

我正在尝试使用python打印文件。Pycups打印机错误

import cups 
conn = cups.Connection() 
printers = conn.getPrinters() 
for printer in printers: 
    print printer, printers[printer]["device-uri"] 
with open('m.txt', 'w')as output: 
    output.write('some text') 
    print "done" #debugging 
    prin = conn.getDefault() 
    conn.printFile(prin, 'm.txt', 'm.txt',{}) 
    print "done 2" # debugging 
    output.close() 

它所有的工作,直到

conn.printFile(prin, 'm.txt', 'm.txt',{}) 

从哪里获得的

Traceback (most recent call last): 
    File "print.py", line 10, in <module> 
    conn.printFile(prin, 'm.txt', 'm.txt',{}) 
cups.IPPError: (1024, 'No file in print request.') 

错误,但是当我看到m.txt是我的主文件夹。

即时通讯使用python 2.7和xbuntu,并有多个打印机,默认设置为cups-pdf。

我找不到在文档很多信息

回答

0

尝试使用您要打印的文件的绝对路径,即:

os.path.abspath("m.txt") 
0

尝试打印你关闭你写

文件后
import os 
import cups 
conn = cups.Connection() 
printers = conn.getPrinters() 
with open('m.txt', 'w')as output: 
    output.write('some text') 
    print "done" #debugging 
    prin = conn.getDefault() 
    output.close() 
#add script print after close file 
f = os.path.abspath("m.txt") 
conn.printFile(prin, f, 'm.txt',{}) 
print "done 2" # debugging 

它在我的工作