我正在尝试在我的网站上打印PDF文件。 用户按下Print,某些PDF文件应由某台打印机打印。 (该网站是内部网站,只有一台通过网络连接到服务器的打印机将打印文件。)
我首先使用了这段代码:
win32api.ShellExecute(0, "print", pdf_file, None, ".", 0)
我在本地主机上测试时打印了该文件,但是当有人试图从另一台计算机上打印时,他会收到此错误:
(31,'ShellExecute','连接到系统的设备无法运行。')
然后我试着这样:
GHOSTSCRIPT_PATH = "gswin32.exe"
GSPRINT_PATH = "gsprint.exe"
import win32print
currentprinter = win32print.GetDefaultPrinter()
win32api.ShellExecute(0, 'open', GSPRINT_PATH,
'-ghostscript "' + GHOSTSCRIPT_PATH + '" -printer "' + currentprinter + '" "' + pdf_file + '"', '.', 0)
它在本地主机上工作(但PDF文件打印不正确)并从其他计算机上收到此错误:
找不到默认打印机。
我认为打印功能仅限于服务器,因为它是连接到打印机的唯一计算机,并且打印是在后端完成的,但是这个错误让我觉得其他计算机正在尝试连接到打印机!
有任何解决此问题的建议吗?
非常感谢。