以不同的输出格式打印文档时遇到一些问题。我必须保存(以pdf格式)并使用普通打印机打印相同的文档。这个文档有一个我用svg格式绘制的网格,一些字段和图像。
除了istruction之外,制作此文档的函数是相同的:
printer->setOutputFormat(QPrinter::NativeFormat);
代码非常简单:
QSvgRenderer *r;
r = new QSvgRenderer(QString("PrintModelWithoutNote.svg"));
QPrinter *printer = new QPrinter();
QPainter *paint = new QPainter();
if(pdf){
printer->setOutputFormat(QPrinter::PdfFormat);
printer->setOutputFileName("pdf_file.pdf");
}else{
printer->setOutputFormat(QPrinter::NativeFormat);
}
paint->begin(printer);
r->render(paint);
paint->drawText(QPointF(10, 10), "Test1");
paint->drawText(QPointF(50, 50), "Test2");
paint->end();
问题是我决定了pdf格式的文本位置,以便与svg中的网格对齐。当我以原生格式打印时,文本与网格失去对齐。
我做了几次测试,删除或添加页边距但没有成功。我唯一感兴趣的是保持对齐。有人对我有什么建议吗?
我希望我能很好地解释我的问题。提前谢谢。