[英]QPrinter + QPainter writes invalid PDF file
我只是想使用 QPrinter + QPainter 为 PDF 文件绘制一个矩形:
#include <QtWidgets>
#include <QPrinter>
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QPrinter printer(QPrinter::HighResolution);
printer.setOutputFileName("/Users/jason/Desktop/example.pdf");
printer.setOutputFormat(QPrinter::PdfFormat);
QPainter painter;
painter.begin(&printer);
int width = painter.viewport().width();
int height = painter.viewport().height();
painter.setPen(Qt::black);
painter.drawRect(0.25*width, 0.25*height, 0.5*width, 0.5*height);
painter.end();
}
使用 MacOS 10.15.4 和 Qt 5.15.2 这会导致一个空白/无效的 PDF 文件。 没有QPrinter.setOutputFormat
和QPrinter.setOutputFileName
的相同代码可以在纸上正确打印一个矩形。
如何使用 QPrinter/QPdfWriter + QPainter 绘制到 PDF 文件?
我是个傻瓜。 我以为 PDF 是空白的,但事实证明,如果我放大得很远,我可以看到一条微弱的灰线。 显然PDF的分辨率比我的打印机高很多!
使用painter.setPen(QPen(QBrush(Qt::red), 100.0))
按预期显示一个清晰的矩形。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.