一、效果图


二、代码
QFile file(QCoreApplication::applicationDirPath() + "/demo.pdf");
file.open(QIODevice::WriteOnly);
QPdfWriter* writer = new QPdfWriter(&file);
QPainter* p = new QPainter(writer);
writer->setPageSize(QPagedPaintDevice::A4);
p->drawText(QRect(100, 100, 4200, 2200), QString("我国经济长期向好的基本面没有改变(人民论坛)"));
writer->newPage();
delete p;
delete writer;
file.close();
QPrinter printerPixmap(QPrinter::HighResolution);
printerPixmap.setPageSize(QPrinter::A4);
printerPixmap.setOutputFormat(QPrinter::PdfFormat);
printerPixmap.setOutputFileName(QCoreApplication::applicationDirPath() + "/demo1.pdf");
QPixmap pixmap;
pixmap.load(QCoreApplication::applicationDirPath() + "/1.jpg");
QPainter painterPixmap;
painterPixmap.begin(&printerPixmap);
QRect rect = painterPixmap.viewport();
int multiple = rect.width() / pixmap.width();
painterPixmap.scale(multiple, multiple);
painterPixmap.drawPixmap(0, 0, pixmap);
painterPixmap.end();
本文介绍了如何利用Qt库中的QPdfWriter、QPrinter和QPainter组件,自定义生成PDF文件的过程。通过示例代码展示从头开始创建PDF文档的步骤,包括设置页面大小、添加文本和图形等操作,最终实现了一个简单的PDF生成效果。

2877

被折叠的 条评论
为什么被折叠?



