打印完整的文档目前我正忙着与发展中国家其中PDF转换成PNG,并使用PNG图像打印出来到打印机的应用程序。与PySide/QT
的问题是,我可以打印出的图像,但我不知道如何调整它的方式,它总是在纸上全尺寸。 Offcourse我想设置一些边距,但图像必须按照适合的方式重新调整大小。
的问题是,我真的没有线索如何做到这一点,因为文档是非常有限的。
这是我当前的代码打印的图像:
#set up printer
printer = QtGui.QPrinter(QtGui.QPrinter.HighResolution)
printer.setPrinterName('Adobe PDF') #I print to my Adobe PDF software printer
#set up image
image = QtGui.QImage(pngFiles[0])
#paint & print
painter = QtGui.QPainter()
painter.begin(printer)
painter.drawImage(100,100, image)
painter.end()
我认为解决的办法是在这一行: painter.drawImage(100,100,图像)
它使图像的保证金100从侧面,但它不缩放。如何以适合文档的方式缩放图像?我特别寻找一种解决方案,它看起来像打印机的默认文档大小。
我真的不明白你说的是什么,对不起。顺便说一下,我只有有限的python经验,我使用Qt与C++。为什么这些功能不适合你? – sashoalm 2013-04-24 15:28:18
我在您回答的同时删除了我的评论。 我完全不理解你。当我这样做时:papersize = QtGui.QPrinter.paperSize(打印机)。纸张大小是PySide.QtGui.QPrinter.PageSize.A4 ..一直到现在呢?还是我必须执行它不同? 也许你可以告诉我你将如何在C++代码中完成它,也许我可以将它翻译成Python。 – Ecno92 2013-04-24 16:32:21
所以你的问题解决了 - paperSize给了你PageSize - 它是A4。你还需要什么? A4是标准纸张尺寸,您知道吗?请参阅http://en.wikipedia.org/wiki/Paper_size – sashoalm 2013-04-24 16:34:55