打印完整的文檔目前我正忙着與發展中國家其中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