我正在尝试使用Qt打印PDF并且它工作正常。但是,在某些情况下,我想更改纸张的大小,因为我知道将要打印多少纸张。
我正在尝试更改附加到QPainter
对象的设备的纸张尺寸,但它不会影响实际输出。
以下是我在伪代码中所做的事情:
printer = new QPrinter(...);
printer->setPaperSize(...); /* eg. A4 */
painter = new QPainter();
painter->begin(printer);
determine_page_size_by_trial_rendering(frame, printer, *painter);
printer->setPaperSize(....); /* eg. A5 */
real_rendering(frame, printer, *painter)
不幸的是,我似乎无法实现这一目标。我觉得QPainter
对象以某种方式将页面大小保留在某处,我无法重置它。
答案 0 :(得分:0)
好的 - 我认为它已经相信与否了。我一直在寻找超过一天,但事实证明这很简单 - 我只是摧毁了画家的反对意见,然后开了一个新的:
painter->end();
painter = new QPainter(printer);
解决了它......