2015-09-24 97 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 

它在我的工作