PyQt und Drucken von raw-PDF -
Vorausgesetzt, ich habe eine test.pdf Datei im aktuellen Verzeichnis, ich möchte senden Sie diese raw-Datei, um den Drucker mit dem gui PyQt Drucker.
Folgende Python ist3 code druckt die PDF-source code! Ich will nicht Qt zu bauen, die PDF-Datei für mich, sondern nur senden Sie es an den Drucker mit einem gui-Dialogfeld.
Dieser sollte auf jedem OS, (keine lp
Befehl) ...vorausgesetzt, dass der Drucker versteht PDF nativ.
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_())
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da gebaut wird, in Unterstützung für schreiben ein Dokument im PDF-format, aber nicht für Lesen ein.
PDF-Dateien Lesen, müssen Sie ein Drittanbieter-Bibliothek, oder verwenden Sie ein externes tool zu konvertieren der pdf-Datei in ein anderes format (z.B. text oder html) erste.
Sehen hier für einen überblick über die Handhabung von PDF-Dokumenten.