• 8385阅读
  • 13回复

Qtwebengine 开发的浏览器,如何实现PDF文件的预览~ [复制链接]

上一主题 下一主题
离线hshuxiang
 

只看楼主 倒序阅读 楼主  发表于: 2019-10-11
现在大多数浏览器 预览PDF文件,都是通过embed标签来实现的~
但qwebengine 好像不支持~~显示插件无法加载~~
有朋友遇到此问题吗?或能提供下思路!
在线20091001753

只看该作者 1楼 发表于: 2019-10-12
QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
(づ ̄ 3 ̄)づ
在线liulin188

只看该作者 2楼 发表于: 2019-10-12
回 20091001753 的帖子
20091001753:QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::PluginsEnabled, true); (2019-10-12 03:43) 

兄弟,你上次那个qwebengineview拦截响应的数据封包找到办法了没
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
在线20091001753

只看该作者 3楼 发表于: 2019-10-12
回 liulin188 的帖子
liulin188:兄弟,你上次那个qwebengineview拦截响应的数据封包找到办法了没 (2019-10-12 20:21) 

没有找到办法。不过有类似需求的人,好像还挺多。
(づ ̄ 3 ̄)づ
在线liulin188

只看该作者 4楼 发表于: 2019-10-12
回 20091001753 的帖子
20091001753:没有找到办法。不过有类似需求的人,好像还挺多。 (2019-10-12 21:11) 

FiddlerCoreAPI这个看看,c#的,网上有c++第三方实现,我之前试过了,不稳定,容易卡死。
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线hshuxiang

只看该作者 5楼 发表于: 2019-10-14
回 20091001753 的帖子
20091001753:QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::PluginsEnabled, true); (2019-10-12 03:43) 

这个属性我设置了,但是没起作用~~
在线20091001753

只看该作者 6楼 发表于: 2019-10-14
回 hshuxiang 的帖子
hshuxiang:这个属性我设置了,但是没起作用~~
 (2019-10-14 09:56) 

以下这段代码,亲测能打开,Qt 5.13.1

  1. #include <QtWebEngineWidgets/QtWebEngineWidgets>
  2. int main(int argc, char *argv[]){
  3.     QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
  4.     QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
  5.     QApplication app(argc, argv);
  6.     QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
  7.     QWebEngineView view;
  8.     view.setUrl(QUrl("http://www.shfe.com.cn/upload/20190527/1558926477286.pdf"));
  9.     view.resize(1024, 750);
  10.     view.show();
  11.     return app.exec();
  12. }


(づ ̄ 3 ̄)づ
离线hshuxiang

只看该作者 7楼 发表于: 2019-10-14
和你同样的代码~显示一片空白~ QT5.12.5  X64编译 和QT版本还有关系?


1条评分金钱+1
20091001753 金钱 +1 需至少 Qt 5.13 2020-01-16
离线peerless12

只看该作者 8楼 发表于: 2019-11-01
5.13 才开始支持pdf。setting.pdfViewerEnabled.(This property was introduced in QtWebEngine 1.9.)
离线jsxyhyj

只看该作者 9楼 发表于: 2020-01-16
回 20091001753 的帖子
qt自带的示例浏览器,跑起来了。 但是打开优酷,不能播放,有试过吗?
在线20091001753

只看该作者 10楼 发表于: 2020-01-16
回 jsxyhyj 的帖子
QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
(づ ̄ 3 ̄)づ
离线jsxyhyj

只看该作者 11楼 发表于: 2020-01-17
回 20091001753 的帖子
20091001753:QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::PluginsEnabled, true); (2020-01-16 23:06) 

你好,亲测不行。还是不能播放视频。原网站应该是html5视频。我在谷歌浏览器播放时没有说要flash
qtcreator里打印的还是一样。
"Mixed Content: The page at 'https:// ' was loaded over HTTPS, but requested an insecure video 'http://  
1条评分金钱+1
20091001753 金钱 +1 这是缺少 OpenSSL 的 dll,去下载就好了。 2020-01-17
离线a2886015

只看该作者 12楼 发表于: 2020-04-01
QWebEngineView直接打开PDF文件,你们看下官方留下来的文档,只有高版本的支持的。若低版本浏览器想要浏览,也不是没有办法,前端使用pdf.js插件就可以了
离线zhouzikai

只看该作者 13楼 发表于: 2023-08-29
回 20091001753 的帖子
20091001753:以下这段代码,亲测能打开,Qt 5.13.1
#include <QtWebEngineWidgets/QtWebEngineWidgets>
....... (2019-10-14 10:15) 

感谢
快速回复
限100 字节
 
上一个 下一个