【问题标题】:QPrinter margin does not work as expectedQPrinter 边距未按预期工作
【发布时间】:2016-10-24 05:02:32
【问题描述】:

我正在使用 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。

【问题讨论】:

标签: c++ qt qprinter


【解决方案1】:

在阅读了一些深入的文档之后。上面写着 QTextDocument 在打印时会增加 20mm 的边距。

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

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

【讨论】:

    猜你喜欢
    • 2012-10-28
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 2018-01-06
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    相关资源
    最近更新 更多