如何在Windows上使用Python 3.3.2直接打印到打印机?

时间:2018-03-05 15:58:44

标签: python pyqt

我很难找到任何代码示例来获取Python中的数据以打印到打印机。我找到的任何例子都使用win32api(我似乎无法为Python 3.3.2安装)或者直接使用它。

我看过的文档对我来说都很混乱,因为我在Monkey Studio中使用PyQt进行编程,并且任何用于打印的Qt文档似乎只适用于常规Qt。

有没有人有任何简单的工作代码可以打印到通过USB或使用Python和/或PyQt通过wifi插入的打印机?

由于

2 个答案:

答案 0 :(得分:1)

我不知道您要打印什么,但我使用下面的代码从QTableView打印出值。您可以修改以适合您的代码,因为您没有给我们任何代码。

def printing(self):
    printer = QtGui.QPrinter(QtGui.QPrinter.ScreenResolution)
    dialog = QtGui.QPrintPreviewDialog(printer)
    view = PrintView()
    view.setModel(self.tableView1.model())
    dialog.paintRequested.connect(view.print_)
    dialog.exec_()


class PrintView(QtGui.QTableView):
    def __init__(self):
        super(PrintView, self).__init__()
        self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)

    def print_(self, printer):
        self.resize(printer.width(), printer.height())
        self.render(printer)

答案 1 :(得分:0)

您将需要让win32api工作,因为这是您能够与Windows系统连接的唯一方式,以获取有关您的本地设备可用的打印机的信息。安装win32api时似乎有什么问题?此资源在您设法安装http://timgolden.me.uk/python/win32_how_do_i/print.html时非常有用。您可能需要找到库的二进制文件并使用pip安装它们。