Search code examples
pythonqtpyqt4

Is it possible to get QWebKit to display pdf files?


i have a link in my QWebkit, which points to a pdf file. But when the link is clicked, it can't display the pdf file. is there a way to make it happen?


Solution

  • If you enable plugins through QWebSettings and have a PDF viewer installed that provides a browser plugin such as Acrobat then you should see the PDF rendered using the plugin inside your QWebView:

    import sys
    from PyQt4.QtCore import *
    from PyQt4.QtGui import *
    from PyQt4.QtWebKit import *
    
    app = QApplication(sys.argv)
    web = QWebView()
    web.settings().setAttribute(QWebSettings.PluginsEnabled, True)
    web.show()
    web.load(QUrl('file:///C:/test/test.pdf')) # Change path to actual file.
    sys.exit(app.exec_())
    

    This code isn't working for me on Windows with the latest version of Acrobat X (it just shows a progress bar but no PDF - proof that the plugin is loading, just not working) but I'm sure this is how I've done it before. Give it a try and let me know.