QT5使用QPrinter实现打印
pro中 添加 +=printsupport
QString fileName = "./report.pdf";
if (QFileInfo(fileName).suffix().isEmpty())
{
fileName.append(".pdf");
}
QPrinter printer(QPrinter::HighResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName(fileName);
QPixmap pixmap = QPixmap::grabWidget(ui->widget_5,ui->widget_5->rect());
QPainter painter_pixmap;
painter_pixmap.begin(&printer);
QRect rect = painter_pixmap.viewport();
int multiple = rect.width()/pixmap.width();
qDebug()<<"mul = "<<multiple;
painter_pixmap.scale(multiple, multiple+1);
painter_pixmap.drawPixmap(0, 0, pixmap);
painter_pixmap.end();
即可在指定目录生成pdf文件