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

问题描述 投票:0回答:2

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

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

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

谢谢

python pyqt
2个回答
0
投票

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


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)
© www.soinside.com 2019 - 2024. All rights reserved.