2016-06-27 2 views
1

32 비트 Python과 32 비트 win32print가 설치되어 있습니다. Windows 8 또는 10에서 다음 코드를 실행하면 프린터 출력 목록이 표시되지 않습니다. 에만 인쇄 : ()Python27 - Windows 8.1 또는 10에서 프린터가 표시되지 않음

enter image description here

왜 작동하지 그것?

enter image description here

1을 시도해보십시오 :

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

예상 출력이 코드를 시도했을 때, 프린터 일어나 아무것도하지만, 더 인쇄는 전혀 발생하지, 어떤 서류가 밖으로 얻을 수 없다 인쇄됩니다.

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

윈도우 8에서 다음

printers = win32print.EnumPrinters(win32print.PRINTER_ENUM_LOCAL, None, 1) 
print (printers) 

을 시도하고 10 "Microsoft Print to PDF"가 나열되어야 A4 용지에 프린터로 인쇄한다 . 그리고 당신은

hDC.CreatePrinterDC ('Microsoft Print to PDF') 

(EnumPrinters/Python)


(EnumPrinters/WinAPI) 예를 들어도 문서를 참조하십시오 사용할 수 있습니다,이 코드는 "c:\\test\\_python.pdf"에 직접 PDF 파일을 인쇄 할 수 있습니다. 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'에 잘못된 매개 변수가있는 것 같습니다. 나의 이전의 대답은 이해가 안된다. 나는 내가 무엇에 관해서 가는지 알지 못한다. 나는 그것을 새롭게했다. 어쩌면 나는 낡은 대답을 지울 것이다. –

관련 문제