QPrinter边距不能按预期工作

时间:2016-06-22 10:08:29

标签: c++ qt qprinter

我正在使用Qt C ++进行打印。但我发现边际不能按预期工作的问题。这里是我使用的QPrinter配置。

QPrinter *pr = new QPrinter(QPrinterInfo::printerInfo("Canon iP2700 series"));
pr->setPageSize(QPrinter::A4);
pr->setFullPage(true);
pr->setPageMargins(5, 5, 5, 5, QPrinter::Millimeter);
QTextDocument *d = new QTextDocument(this);
d->setHtml("<i>Try printing from QT</i>");
d->print(pr);

结果边距离边缘很远(应该是5mm),我也尝试在真正的打印机上打印。而且打印机似乎有内部边距,我设置给打印机的边距将被添加到内部边距。

在我的问题中,内部边距为20毫米。因此,如果我将打印机边距设置为10mm,则在打印时,纸张边距为30mm。

有没有人有这方面的经验?如何使保证金有效?

PS:我使用的是Qt 5.5 VC 2013。

1 个答案:

答案 0 :(得分:2)

仔细阅读文档之后。它说,QTextDocument在打印时会增加20mm的余量。

  

默认情况下,文档内容周围设置了2厘米的边距

我需要在打印之前设置页面大小。