WebEngine Widgets Html2Pdf 示例#

使用 Qt WebEngine 将网页转换为 PDF 文档。

../_images/html2pdf-example.png

Html2Pdf 展示了如何使用 Qt WebEngine 实现一个命令行应用程序,该应用程序可以将网页转换为 PDF 文档。

运行示例#

要从 Qt Creator 运行此示例,请打开欢迎模式并从示例中选择示例。有关更多信息,请访问构建和运行示例。

转换过程#

为了将网页转换为 PDF 文档,我们需要

  1. 创建一个 QWebEngineView .

  2. 告诉 QWebEngineView 开始加载目标 URL 并等待它完成。

  3. 告诉 QWebEngineView 开始将加载的页面转换为 PDF 文件,并再次等待它完成。

  4. 转换完成后,退出程序。

此过程封装在 Html2PdfConverter 类中

在构造函数中,我们创建了一个 QWebEngineView 并将其 loadFinishedpdfPrintingFinished 信号连接起来

run() 方法将通过请求 QWebEnginePage 开始加载目标 URL 来触发转换过程。然后我们进入主事件循环

加载完成后,我们开始生成 PDF。我们请求 printToPdf 方法直接写入磁盘

一旦我们收到 PDF 转换完成的信号,我们只需报告潜在的错误并退出程序即可

主函数#

我们的 main 函数负责设置 QApplication 并解析命令行参数

注意,使用 Qt WebEngine Widgets 需要创建一个 QApplication 而不是 QCoreApplication,即使这是一个命令行应用程序。

示例项目 @ code.qt.io