1import sys 2from PyQt5 import QtGui, QtWidgets 3import popplerqt5 4 5usage = """ 6Demo to load a PDF and display the first page. 7 8Usage: 9 10 python demo.py file.pdf 11 12""" 13 14 15def pdf_view(filename): 16 """Return a Scrollarea showing the first page of the specified PDF file.""" 17 18 label = QtWidgets.QLabel() 19 20 doc = popplerqt5.Poppler.Document.load(filename) 21 doc.setRenderHint(popplerqt5.Poppler.Document.Antialiasing) 22 doc.setRenderHint(popplerqt5.Poppler.Document.TextAntialiasing) 23 24 page = doc.page(0) 25 image = page.renderToImage() 26 27 label.setPixmap(QtGui.QPixmap.fromImage(image)) 28 29 area = QtWidgets.QScrollArea() 30 area.setWidget(label) 31 area.setWindowTitle(filename) 32 return area 33 34 35def main(): 36 app = QtWidgets.QApplication(sys.argv) 37 argv = QtWidgets.QApplication.arguments() 38 if len(argv) < 2: 39 sys.stderr.write(usage) 40 sys.exit(2) 41 42 filename = argv[-1] 43 view = pdf_view(filename) 44 view.show() 45 sys.exit(app.exec_()) 46 47 48if __name__ == "__main__": 49 main() 50