1

随着 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 布局的(苗条)工具?

欢迎任何想法和建议!

4

1 回答 1

0

经过大量的 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/ )

于 2016-01-29T12:22:26.863 回答