5

假设我在当前目录中有一个test.pdf文件,我想使用PyQt gui Printer将此原始文件发送到打印机。

以下 Python3 代码打印 PDF 源代码!我不希望 Qt 为我构建 PDF,而只需使用 gui 对话框将其发送到打印机。

这应该适用于任何操作系统,(无lp命令)......假设打印机设备本机理解 PDF。

import sys, PyQt4.QtCore, PyQt4.QtGui

def pdf():
    pdf = open('test.pdf', encoding='utf-8').read() # ascii PDF here
    doc = PyQt4.QtGui.QTextDocument(pdf)
    printer = PyQt4.QtGui.QPrinter()
    dialog = PyQt4.QtGui.QPrintDialog(printer)
    if dialog.exec_() == True:
        doc.print_(printer)

if __name__ == '__main__':
    app = PyQt4.QtGui.QApplication(sys.argv)
    w = PyQt4.QtGui.QWidget()
    but = PyQt4.QtGui.QPushButton('Print', w)
    but.clicked.connect(pdf)  
    PyQt4.QtGui.QVBoxLayout(w).addWidget(but)
    w.show()
    sys.exit(app.exec_())
4

1 回答 1

1

内置支持以PDF 格式编写文档,但不支持阅读

要阅读 PDF 文档,您必须先使用第三方库,或使用外部工具将 pdf 转换为另一种格式(例如文本或 html)。

有关处理 PDF 文档的概述,请参见此处。

于 2012-09-04T16:33:40.747 回答