遇到问题:
需要把图片、文字导出为PDF,且图片上有文字。
首先在.pro 添加 模块
QT += printsupport
实验代码:
#include <QPainter>
#include <QPrinter>
#include <QPixmap>
#include <QBrush>
{
QPrinter printer;
printer.setOutputFormat(QPrinter::PdfFormat);//设置输出格式为pdf
printer.setPageSize(QPrinter::A4);//设置纸张大小为A4
printer.setOutputFileName("D:\\test.pdf");//设置输出路径
QPainter painter;
painter.begin(&printer);
//正常使用painter 绘制文字、pixmap等在printer上
//要先画图片,然后画图片上面的内容,否则图片会覆盖其他内容
QPixmap pixmap("D:\\pic.png");
painter.drawPixmap(rect(), pixmap);
painter.setPen(Qt::blue);
painter.setFont(QFont("Arial", 30));
painter.drawText(rect(), Qt::AlignCenter, "444Qt");
QPen pen;
pen.setWidth(40);
painter.drawLine(10,20,200,400);
QBrush brush;
pen.setColor(Qt::red);
brush.setColor(Qt::red);
brush.setStyle(Qt::SolidPattern);
painter.setBrush(brush);
painter.setPen(pen);
painter.drawRect(200,400,500,600);
//至此,文件被保存
painter.end();
}
效果: