我尝试使用print()方法和此方法所需的QPrinter实例从QWebEngineView打印html文档。
我遇到的问题是,在生成的PDF中,我无法选择任何可用的文本。 PDF在某种程度上是简单的,就像PDF文件中的图片一样。 考虑到Qt的WebEngine与Chromium(谷歌浏览器)的WebEngine相同,它们应该以相同的方式运行,但是从Chrome导出的PDF中我能够选择文本。 有没有办法控制pdf的导出方式?
P.S。我没有使用printToPdf()方法,因为它会产生非常大的pdf(aprox.5MB)。
答案 0 :(得分:0)
以页面/ pdf质量为代价,您可以将QWebEngineView
页面注入html并将html加载到可以打印的QTextDocument
中。
webview->page()->toHtml([this](const QString& result){handlePagePrint(result);});
void handlePagePrint(QString result)
{
QTextDocument td;
td.setHtml(result);
td.print(&printer);
}