QMarginsF()没有在QWebEnginePage :: printToPdf中设置边距

时间:2016-11-28 21:49:30

标签: c++ qt

我想知道是否有人可以帮助我在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));

});

提前致谢。

0 个答案:

没有答案