1

我在以不同的输出格式打印文档时遇到了一些问题。我必须保存(以 pdf 格式)并使用普通打印机打印相同的文档。该文档有一个网格,我以 svg 格式绘制,一些字段和图像。

制作这个文件的功能是一样的,除了指令:

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 中的网格对齐。当我以本机格式打印时,文本会与网格失去对齐。

我做了几次删除或添加页边距的测试,但没有成功。我唯一感兴趣的是保持对齐。有人对我有什么建议吗?

我希望我已经很好地解释了我的问题。提前致谢。

4

0 回答 0