2011-07-07 16 views

回答

3

如果能夠通過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 - 證明插件正在加載,只是不工作),但我確定這是我以前做過的。試試看,讓我知道。

+0

如何知道我是否已經安裝了PDF閱讀器?如果沒有,如何安裝插件? – lionel319

+0

查看是否安裝了插件的最簡單方法是在默認瀏覽器中訪問您的PDF鏈接,看看會發生什麼。你在Windows上嗎?您可以從http://get.adobe.com/reader/下載Acrobat Reader,並且QtWebKit應該自動選擇此選項。 –

+0

此外,Chrome內置了PDF閱讀器,即使您沒有安裝第三方插件,也應始終顯示PDF文件。在Chrome地址欄中輸入以下內容:插件會告訴您是否有可用的內置閱讀器以外的PDF閱讀器。 –

2

Webkit不包含PDF查看器。您需要有一些呈現方式 - 無論是將其傳遞給不同的查看器(Adobe PDF查看器還是其他),以某種方式將其呈現在控件中(您甚至可以嘗試使用rendering it in JavaScript以獲得更多樂趣)。

0

這是PyQt5加里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_()) 
相關問題