現在のディレクトリにtest.pdfファイルがあると仮定すると、この生ファイルをPyQt gui Printerを使用してプリンターに送信したいと思います。
次の Python3 コードは、PDF ソース コードを出力します。Qt に PDF を作成させたくありませんが、GUI ダイアログ ボックスを使用してプリンターに送信するだけです。
これは、任意の OS (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_())