是否可以让QWebKit显示PDF文件?
我在我的QWebkit里有一个链接,指向一个PDF文件。可是当点击这个链接时,PDF文件却无法显示。有没有什么办法可以让它显示出来呢?
3 个回答
0
这是Gary Hudges为PyQt5写的代码:
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_())
2
Webkit本身不带PDF查看器。你需要找到一种方法来显示PDF文件——可以把它交给其他的查看器(比如Adobe PDF查看器或者其他的工具),或者用你自己想出来的方法在控件里显示它(你甚至可以尝试用JavaScript来渲染它,这也挺有趣的)。
5
如果你通过QWebSettings启用了插件,并且安装了一个可以在浏览器中使用的PDF查看器,比如Acrobat,那么你应该能在你的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文件 - 这证明插件在加载,但就是不工作)。不过我记得之前是这样做的。你可以试试看,告诉我结果如何。