2014-11-28 4 views
6

PDF 문서가 있는데 파이썬 응용 프로그램으로 인쇄하고 싶습니다.Python 자동 인쇄 PDF 특정 프린터

내가 here (Print PDF document with python's win32print module?)에 솔루션을 시도했지만 내가 실제 버전의 Ghostscript 9.15 설치할 때, 그것이 내가 그 작동 사용하고있는 방법은 명령 os.startfile('PDFfile.pdf', "print") 함께 더 gsprint.exe

이 없습니다 있지만 기본 뷰어를 엽니 다 (내 Adobe Reader입니다.) 그리고 여전히 인쇄가 끝난 후 열린 창에서 os.system("TASKKILL /F /IM AcroRD32.exe")으로 프로세스를 종료하면 열려있는 다른 창이 삭제되고 그다지 원하지 않습니다.

다음 명령을

, 그것은 또한 인쇄,하지만 Adobe Reader가 너무

currentprinter = win32print.GetDefaultPrinter() 
win32api.ShellExecute(0, "print", 'PDFfile.pdf', '/d:"%s"' % currentprinter, ".", 0) 

열 나는 그러나 그들은

누구는 gsprint.exe 파일 또는를 가지고 다시 gsprint.exe를 사용하는 것이 좋습니다 너무 this answer을 보았다하자 다른 해결책?

참고 : 나는 크롬 또는 Windows 리더와 같은 PDF 파일을 열 수있는 또 다른 기본 프로그램을 사용, 나는 항상 시간 후에

답변

6

마지막으로 startfile 명령을 '(31, 'ShellExecute', 'A device attached to the system is not functioning.')' 또는 [Error 1155] No application is associated with the specified file for this operation: 'PDFfile.pdf' 위 명령의 실행에서 예외가 올바른 파일을 검색하는 데 몇 시간 씩 걸렸는지, 내 문제에 대한 해답을 찾았습니다.

이가 키 (Windows) PC에 파일의 압축을 푼 사용하면이 명령

GHOSTSCRIPT_PATH = "C:\\path\\to\\GHOSTSCRIPT\\bin\\gswin32.exe" 
GSPRINT_PATH = "C:\\path\\to\\GSPRINT\\gsprint.exe" 

# YOU CAN PUT HERE THE NAME OF YOUR SPECIFIC PRINTER INSTEAD OF DEFAULT 
currentprinter = win32print.GetDefaultPrinter() 

win32api.ShellExecute(0, 'open', GSPRINT_PATH, '-ghostscript "'+GHOSTSCRIPT_PATH+'" -printer "'+currentprinter+'" "PDFFile.pdf"', '.', 0) 
하여 PDF를 인쇄 할 수 있습니다 HERE

에 고스트 스크립트 GPL을 다운로드 할 수 있습니다 HERE

에 GSPRINT을 다운로드 할 수 있습니다

GhostScript는 공식 페이지에서도 찾을 수 있습니다. HERE

64bits에 대한 gsprint.exe를 찾았습니다. HERE

이 도움이 되었기를 바랍니다.

+1

gsprint.exe for 64bits 링크가 죽었습니다 (2017 년 10 월).이 사이트는 32 비트에서 작동합니다. http://pages.cs.wisc.edu/~ghost/gsview/gsprint.htm –