Qt 生成pdf

在.pro里面添加
        qtHaveModule(printsupport): QT += printsupport(因为Qt5将打印的相关类放到了Qtprintsupport模块
添加头文件
        #include <qprinter.h>
               #include <QPainter>

void MainWindow::pushButton_clicked()
{
    //this->update();
    QPrinter printer_pixmap(QPrinter::HighResolution);
    printer_pixmap.setPageSize(QPrinter::A4); //设置纸张大小为A4
    printer_pixmap.setOutputFormat(QPrinter::PdfFormat); //设置输出格式为pdf
    printer_pixmap.setOutputFileName("C:\\test_pdf.pdf"); //设置输出路径
    QPixmap pixmap = QPixmap::grabWidget(this,this->rect()); //获取程序当前界面的图片
    QPainter painter_pixmap;
    painter_pixmap.begin(&printer_pixmap);
    QRect rect = painter_pixmap.viewport();
    int multiple = rect.width()/pixmap.width();
    painter_pixmap.scale(multiple, multiple); //将图像(所有要画的东西)在pdf上放大multiple-1倍
    painter_pixmap.drawPixmap(0, 0, pixmap); //画图
    painter_pixmap.end();

}

在下在想,可不可以设置输出参数?应该可以,怎么设置?各位有好点子的请指正在下!

补充;下拉菜单选择输出纸张类型


以上是图片生成pdf,还有文本、html生成pdf;详见附件;

代码来自博主:一去、二三里的pdf教程里面

猜你喜欢

转载自blog.csdn.net/u012907149/article/details/53900612