diff --git a/qutebrowser/browser/webpage.py b/qutebrowser/browser/webpage.py index fca9ee7a5..be24a7fe0 100644 --- a/qutebrowser/browser/webpage.py +++ b/qutebrowser/browser/webpage.py @@ -220,7 +220,12 @@ class BrowserPage(QWebPage): def _show_pdfjs(self, reply): """Show the reply with pdfjs.""" - page = pdfjs.generate_pdfjs_page(reply.url()).encode('utf-8') + try: + page = pdfjs.generate_pdfjs_page(reply.url()).encode('utf-8') + except pdfjs.PDFJSNotFound: + page = (jinja.env.get_template('no_pdfjs.html') + .render(url=reply.url().toDisplayString()) + .encode('utf-8')) self.mainFrame().setContent(page, 'text/html', reply.url()) reply.deleteLater() diff --git a/qutebrowser/html/no_pdfjs.html b/qutebrowser/html/no_pdfjs.html new file mode 100644 index 000000000..fcfc1d3f8 --- /dev/null +++ b/qutebrowser/html/no_pdfjs.html @@ -0,0 +1,112 @@ +{% extends "base.html" %} +{% block style %} +{{ super() }} +* { + margin: 0px 0px; + padding: 0px 0px; +} + +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + -webkit-text-size-adjust: none; + color: #333333; + background-color: #EEEEEE; + font-size: 1.2em; +} + +#error-container { + margin-left: 20px; + margin-right: 20px; + margin-top: 20px; + border: 1px solid #CCCCCC; + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.20); + border-radius: 5px; + background-color: #FFFFFF; + padding: 20px 20px; +} + +#header { + border-bottom: 1px solid #CCC; +} + +.qutebrowser-broken { + display: block; + width: 100%; +} + +td { + margin-top: 20px; + color: #555; +} + +h1, h2 { + font-weight: normal; + color: #1e89c6; + margin-bottom: 10px; +} + +ul { + margin-left: 20px; + margin-top: 20px; + margin-bottom: 20px; +} + +li { + margin-top: 10px; + margin-bottom: 10px; +} +{% endblock %} + +{% block content %} +
+ ![]() |
+
+ No pdf.js installation found+Error while opening {{ url }}: qutebrowser can't find a suitable pdf.js installation + +It looks like you set + + Possible fixes+
+ If none of these fixes work for you, please send us a bug report so + we can fix the issue. + + |
+