使用 Qt 5.5 或 5.6 打印网页的 HTML/内容
Posted
技术标签:
【中文标题】使用 Qt 5.5 或 5.6 打印网页的 HTML/内容【英文标题】:Print HTML/contents of a webpage with Qt 5.5 or 5.6 【发布时间】:2015-12-21 14:00:04 【问题描述】:Qt 5.5 引入了 QWebEngine,它将取代 QWebKit。在 Qt 5.6 (LTS) 中,QWebKit 被移除,以便用户拥有可以使用 QWebEngine。迁移非常简单,除了一件事:打印网页。这没有实现,他们希望在 Qt 5.7 中拥有它(但可能更晚)。换句话说:Qt 的一个强制性功能已被删除,而没有提供替代品。
所以我的问题是:如何在最新版本的 Qt 中打印 html/网页内容?
QTextDocument 作为 HTML 内容的容器可以用于打印,但是太有限了 QWebEngine 不提供打印功能 执行 QWebEngineView->render(&printer) 是一个糟糕的解决方法,因为它只打印所显示页面的可见部分(当页面比屏幕大得多时)Qt 中是否有可能推荐?或者任何其他可用于此并且支持图像、表格和 CSS 布局的(超薄)工具?
欢迎任何想法和建议!
【问题讨论】:
看到这个问题:***.com/questions/32711901/qwebengine-print-a-page/…,它解释了如何使用 QWebEngine 打印页面 【参考方案1】:由于 Qt 支持的大量刺痛,我没有找到解决方案,但可以更新状态:
QWebKit 已经消失了,但从他们目前的计划来看,它不会在 Qt 5.6 中被删除。由于 QWebEngine 的打印功能最早将在 Qt 5.7 中提供,因此他们将 QWebKit 保留在其源代码包中。
但是:它只能作为源代码使用,因此必须手动编译才能使用它。更有趣的是:来自 Qt 的人并不确定 QWebKit 本身。有人说,源代码将可用,但不能保证它可以编译并与较新版本一起使用,另一人说,只要它被打包,它将保持可编译状态(参见http://blog.qt.io/blog/2015/12/18/qt-5-6-beta-released/ 的 cmets)
【讨论】:
以上是关于使用 Qt 5.5 或 5.6 打印网页的 HTML/内容的主要内容,如果未能解决你的问题,请参考以下文章
四周第三次课 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践
如何在 Laravel 框架中降级? (5.6 至 5.5)