gpt4 book ai didi

c++ - Qt WebEngine 打印时不正确的页边距

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:17 24 4
gpt4 key购买 nike

我在我的项目中实现了打印报告的功能。报告以 HTML 内容的形式呈现。有一个带有自定义字段的 QPrinter 实例:

printer = new QPrinter(QPrinter::ScreenResolution);
qreal topMargin = 15;
qreal bottomMargin = 15;
qreal leftMargin = 20;
qreal rightMargin = 15;
QPrinter::Unit units = QPrinter::Millimeter;
printer->setPageMargins(leftMargin,topMargin,rightMargin,bottomMargin,units);

打印PDF时一切正常

view->printToPdf([=] (QByteArray bd) {
//Запись файла
}, printer->pageLayout());

但是用“print”函数打印时,字段设置不正确:

QWebEnginePage *page = new QWebEnginePage;
page->setHtml(currentForPrint);

connect(page, &QWebEnginePage::loadFinished, [page, printer] (bool ok) {
if (!ok) {
qDebug() << "error"; return;
}
page->print(printer, [=] (bool ok) {
if (ok)
qDebug() << "success";
else
qDebug() << "error 2";
});
});

图片

Qt 版本 - 5.9.3。

最佳答案

这是 WebEngine 中的错误。我已报告并会尽快修复它。作为解决方法,您可以在 QPrinter 中启用整页打印:

printer->setFullPage(true);

这对我有用。

关于c++ - Qt WebEngine 打印时不正确的页边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47900417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com