python - PyQt 打印原始 PDF

标签 python pdf printing pyqt4

假设我在当前目录中有一个 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_())

最佳答案

内置support用于编写 PDF 格式的文档,但不用于阅读

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

参见 here有关处理 PDF 文档的概述。

关于python - PyQt 打印原始 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12262274/

相关文章:

python - 保留装饰函数的签名

python - 如何使用 Django 过早地拒绝请求?

javascript - 在 iframe 中打印 PDF 时出现 IE9 "Invalid calling object"

ios - UITableView转PDF多页(无法生成)

python - 在文本中使用 sympy 打印希腊字母

python - 列表出现类型错误的未知原因

python - rpy2 的构建轮失败

android - 如何在我的 WebView 应用程序中打开另一个应用程序?

qt - 如何从 QGraphicsScene 生成带有可复制文本的 pdf 文件?

python - 传单 PDF 分页符溢出