我创建了一个应用程序,它使用QWebView创建模板,然后将其打印为pdf文件。 在视图中,我为背景图像设置了一个背景图像,并且在执行程序时,第一次打印PDF时,图像不会以pdf格式打印。然后,我再次打印相同的pdf并出现图像。因此对于所有的子排印印刷品。 因此,它不适用于第一次打印。QWebView不能正确加载图像
我debbuged的HTML代码和背景图像是全部设置。
用于打印的PDF文件,我用这个:
QPrinter printer;
printer.setOrientation(QPrinter::Landscape);
printer.setPaperSize(QSizeF(76.2,180),QPrinter::Millimeter);
printer.setPageMargins(27,11.2,4,4.4,QPrinter::Millimeter);
QPrintDialog *dialog = new QPrintDialog(&printer);
if (dialog->exec() == QDialog::Accepted){
QWebView *view = new QWebView();
QUrl url(QApplication::applicationDirPath());
view->setHtml(cheque,url);
view->print(&printer);
}
凡检查是HTML模板
你创建一个新的'QWebView' instanse('QWebView *视图=新QWebView();')对于每个后续打印中的问题代码或'view'被再利用(存储为一个类的成员) ? –
从'QWebView :: setHtml'文档:“html立即被加载;外部对象被异步加载。”我猜你在调用'view-> setHtml'时,图像尚未加载。这可能是问题所在。 – HeyYO
谢谢你们,解决了它 – rocko