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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Windows上使用Python 3.3.2直接打印到打印机?相关的知识,希望对你有一定的参考价值。

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

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

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

谢谢

答案

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

另一答案

我不知道你要打印什么,但我使用下面的代码从我的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)

以上是关于如何在Windows上使用Python 3.3.2直接打印到打印机?的主要内容,如果未能解决你的问题,请参考以下文章

如何安装和配置Python

如何在Windows上使用Python for .NET进行多处理?

如何使 APK 在 WINDOWS 上独立于 Kivy 和 python?

如何使用 InstallShield 在 Windows 上最好地安装 Python + 模块

如何在 Python 上使用 Windows Auth 登录 MSSQL?

如何使用 Python 2.7 在 Windows 上修复 pip 安装证书问题? [复制]