在Qt c++中使用QTextdocument在单独的页面中打印出每个内容



我是Qt c++的新手。我用qtextdocument打印PDF格式。我的qtextdocument (doc)相当长,它由单独的内容组成。那么,我怎样才能在一个单独的页面上打印出每个内容呢?

QPrinter printer(QPrinter::HighResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setPaperSize(QPrinter::A4);
printer.setOrientation(QPrinter::Landscape);
printer.setOutputFileName(ui->lE_Save->text()+ ".pdf");
doc.setDocumentMargin(0);
doc.setTextWidth(0.5);
doc.print(&printer);

谢谢。

谢谢大家。我得到了导出PDF格式的逐页内容的解决方案。我的代码是这样的:

QPrinter printer(QPrinter::HighResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
QPageSize pageSize(QPageSize::A4);
QPainter painter;
painter.begin(&printer);
for...
{
QTextDocument doc;
QTextCursor cursor(&doc);
...do something for QTextDocument ...
doc.drawContents(&painter);
if(page!=monthCount-1)
printer.newPage();
}
painter.end();

最新更新