标题:如何将webengine打开的界面放入打印预览中打印
作者:htamwidt
日期:2018-07-25 15:34
内容:
void MainWindow::Printer()
{
webView = new QWebEngineView(this);
webView->load(QUrl("http://www.baidu.com"));
QPrinter printer(QPrinter::HighResolution);
QPrintPreviewDialog printPreDlg(&printer,this);
connect(&printPreDlg, &QPrintPreviewDialog::paintRequested,
[=, this](QPrinter* printer)
{
QPainter painter;
if (! painter.begin(printer))
{
// failed to open file
qWarning("failed to open file, is it writable?");
return ;
}
QString text = "123123321";
painter.drawText(10, painter.fontMetrics().height()*1, text);
QPixmap img(":/html/logo.png");
painter.drawPixmap(500,500,img);
painter.end();
});
printPreDlg.exec();
}
可以简单调用打印预览,打印内容如何调用webengine内展示的界面
#1 [maxlogo 07-26 01:12]
截屏
#2 回 maxlogo 的帖子 [htamwidt 07-26 17:21]
maxlogo:截屏 (2018-07-26 01:12)
大哥,如何将这类格式的图片放到画布里打印出来呢;data:image/png;base64;
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7wAAANICAYAAADkQOM4AAAgAElEQVR4XuzdCZhUxbn/8bdn39h
#3 回 maxlogo 的帖子 [htamwidt 07-26 17:24]
maxlogo:截屏 (2018-07-26 01:12)
已通过html,将图片生成data:image/png;base64地址,现在要做的就是把它绘制出来打印,怎么放到画布里呢;截屏的方式怕是不好定位,因为只需要一部分html界面;