2012-10-12 106 views
0

我在Linux下開發了一個Python腳本(2.6)。Python共享名稱打印機

我從網絡中的Windows機器運行此腳本。

我將通過USB連接的打印機共享到Windows電腦。

我希望通過腳本檢索打印機的共享名稱。

謝謝您的幫助

+0

看一看這個答案:http://stackoverflow.com/a/558133/ 1129194 –

+0

如何分享打印機?從Linux電腦?使用CUPS(IPP)或Samba? –

+0

是的,我的打印機被CUPS識別。我通過CUPS中的samba選項共享。我會在Windows中給出與共享名稱相同的名稱。 我的目標是能夠在打印機上打印執行我的腳本,知道我有5臺連接和共享5臺打印機的PC。 – Hadramos

回答

0

注:此解決方案假定您有一個CUPS服務器上的Linux機器上運行和pycups包還您的Python環境(於Debian/Ubuntu可供選擇: apt-get install python-cups,Red Hat/Fedora/CentOSyum install python-cups或從source安裝:更復雜,因爲它取決於libcups開發文件是否可用於編譯成功)。

添加遠程的Windows打印機對Linux的 CUPS 服務器。這將使打印機本地可訪問Python腳本在Linux上運行。

然後使用pycups包與打印機進行交互(documentation)。例如,要列出安裝在本地CUPS服務器的打印機和打印文件到安裝的打印機之一:

import cups 

conn = cups.Connection() 

# get printers available in the local CUPS server 
printers = conn.getPrinters() 
for printer in printers: 
    print printer, printers[printer]["device-uri"] 

# get the first key from the printers dictionary as a sample printer name 
printer_name = printers.keys()[0] 
conn.printFile(printer_name, 'test_file_name.raw', 'job title', {}) 
+0

嗨,我的腳本是在Linux機器上執行,而不是在Windows機器上執行。它是在Windows機器上通過http執行的。我看到pywin32,但這個模塊只適用於Windows下的Python。我想要的是什麼pywin32,但Linux。 – Hadramos

+0

因此,爲了澄清:您已經在Windows共享的Windows計算機上安裝了打印機,並且您想從Linux打印這些打印機。是嗎? –

+0

是的確實如此... – Hadramos