Qprinter保证金无法正常工作

QPrinter margin does not work as expected

本文关键字:工作 常工作 保证金 Qprinter      更新时间:2023-10-16

我正在用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),我也尝试在真实打印机上打印它。看来打印机具有内部保证金,我将保证金设置为打印机将被添加到内部边距。

在我的问题中,内部边距为20mm。因此,如果我将打印机保证金设置为10mm,则印刷时,纸上的边距为30mm。

是否有人对此有经验?如何使利润起作用?

ps:我正在使用QT 5.5 VC2013。

在阅读文档深处后。它在打印时说,qtextDocument将增加20mm的边距。

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

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