我想知道是否有人可以帮助我在Qt QWebEnginePage :: printToPdf pdf中设置一些边距。
我从某个网址加载html并使用QWebEnginePage呈现它,然后使用printToPdf方法从html内容创建pdf文件。
但是我无法设置文档边距(我已设法用css设置这些边距,但我想用属性Qt类(QMarginsF)设置它)。
代码:
// NEW QT WEBENGINE PAGE
QWebEnginePage page;
// MARGINS
QMarginsF margins(75,75,75,75);
// CONNECT
QObject::connect( &page, &QWebEnginePage::loadFinished, [&page, output, &margins]()
{
// qDebug(QString("Margins: %1").arg(margins.top()).toStdString().c_str());
// PRINT TO PDF
page.printToPdf( [output](const QByteArray &data)
// LAMBDA (print2pdf first param)
{
QFile file(output);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
{
return;
}
file.write( data );
system( (" xdg-open " + output).toStdString().c_str() );
QApplication::exit(0);
},
// PAGE LAYOUT (print2pdf second param)
QPageLayout( QPageSize( QPageSize::A4 ), QPageLayout::Portrait, margins));
});
提前致谢。