2016-06-27 17 views
1

私は32ビットPythonと32bitのwin32printをインストールしています。私がWindows 8または10で次のコードを実行すると、プリンタの出力リストが表示されません。唯一の印刷:()Python27 - Windows 8.1または10でプリンタが表示されない

enter image description here

なぜ動作しませんの?

import win32print 
printers = win32print.EnumPrinters(5) 
print printers 

予想される出力:

enter image description here

1を試してみてください:私はこのコードを試したときは、プリンタのウェイクアップが、何も何の書類を印刷しませんますが、アウトを取得、何も印刷が全く起こりません。

import os, sys 
import win32print 
p = win32print.OpenPrinter('RICOH Aficio SP 4310N') 
job = win32print.StartDocPrinter (p, 1, ("test of raw data", None, "RAW")) 
win32print.StartPagePrinter (p) 
win32print.WritePrinter (p, "data to print") 
win32print.EndPagePrinter (p) 

2を試してみてください。これは

enter image description here

import win32ui 
X=50; Y=50 
input_string = "COPY PASTE COPY PASTE COPY PASTE LINE" 
multi_line_string = input_string.split() 
hDC = win32ui.CreateDC() 
hDC.CreatePrinterDC ('RICOH Aficio SP 4310N') 
hDC.StartDoc ('FILE NAME FILE NAME') 
hDC.StartPage() 
for line in multi_line_string: 
    hDC.TextOut(X,Y,line) 
    Y += 100 
hDC.EndPage() 
hDC.EndDoc() 

答えて

1

A4の紙でプリンタに印刷され、次の

printers = win32print.EnumPrinters(win32print.PRINTER_ENUM_LOCAL, None, 1) 
print (printers) 
のWindows 8では

と10 "Microsoft Print to PDF"が一覧表示されます試してみてください。あなたが使用することができます

hDC.CreatePrinterDC ('Microsoft Print to PDF') 

(EnumPrinters/Python)(EnumPrinters/WinAPI)


例についてもマニュアルを参照してくださいと、このコードは"c:\\test\\_python.pdf"に直接PD​​Fファイルを印刷します。 StartDocにファイル名が含まれていない場合、pdf出力ファイル名を入力するダイアログが表示されます。

import win32print, win32ui 

X=50; Y=50 
input_string = "COPY PASTE COPY PASTE COPY PASTE LINE" 
multi_line_string = input_string.split() 
hDC = win32ui.CreateDC() 
hDC.CreatePrinterDC ('Microsoft Print to PDF') 
hDC.StartDoc('PrintJobName','c:\\test\\_python.pdf') 
hDC.StartPage() 
for line in multi_line_string: 
    hDC.TextOut(X,Y,line) 
    Y += 100 
hDC.EndPage() 
hDC.EndDoc() 
+0

私はこの回答を偶然に再訪しました。ちょうど 'EnumPrinters'のパラメータが間違っているようです。私の前の答えは意味をなさない、私は何について起こっていたのかわからない。私はそれを更新しました。多分私は古い答えを削除します。 –

関連する問題