是否可以让QWebKit显示pdf文件?

时间:2011-07-07 08:02:29

标签: python qt pyqt4

我的QWebkit中有一个链接,指向一个pdf文件。 但是当点击链接时,它不能显示pdf文件。 有没有办法让它成为现实?

3 个答案:

答案 0 :(得分:3)

如果您通过QWebSettings启用插件并安装了一个提供浏览器插件(如Acrobat)的PDF查看器,那么您应该会看到使用QWebView中的插件呈现的PDF:

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_())

此代码在Windows上不适用于最新版本的Acrobat X(它只显示一个进度条但没有PDF - 证明插件正在加载,只是不起作用)但我确定这是怎么回事我以前做过。试一试,让我知道。

答案 1 :(得分:2)

Webkit不包含PDF查看器。您需要有一些渲染方式 - 无论是将其传递给不同的查看器(Adobe PDF查看器还是其他东西),以您设计的某种方式在控件中呈现它(您甚至可以尝试rendering it in JavaScript为了好玩)。

答案 2 :(得分:0)

这是PyQt5的Gary Hudges代码:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtWebKitWidgets import *
from PyQt5.QtWebKit import *
from PyQt5.QtCore import *

app = QApplication(sys.argv)
web = QWebView()
web.settings().setAttribute(QWebSettings.PluginsEnabled, True)
web.show()
web.load(QUrl('file:///C:/data/progetti_miei/python/test.pdf')) # Change path to actual file.
sys.exit(app.exec_())