0

我正在尝试将图像打印到 Qt 中的施乐打印机。HighResolution使用下面的代码我可以打印,但是在 QPrinter 上使用模式时,图像只会被截断到页面的顶部 3 左右。它按ScreenResolution预期工作,但是图像质量相当低。通话printer.setResolution()似乎对打印质量没有任何影响。

奇怪的是,我可以在 QPainter 中将文本放置在我想要的任何位置,它会打印得很好,特别是被裁剪掉的图像。同样奇怪的是,当我使用a时QPrintPreviewDialog一切看起来都很好,但打印的结果仍然被截断。不知道从哪里开始,我尝试了两台不同的打印机,同样的问题。

FWIW 我在 Windows 上。

printer = QPrinter(QPrinter.HighResolution)
printer.setResolution(1200) # doesn't seem to do much
printer.setFullPage(True)
printer.setPageSize(QtGui.QPagedPaintDevice.Legal)

dialog = QPrintDialog(printer)
dialog.exec_()
im = QtGui.QImage('path/to/image')
im = im.scaledToWidth(printer.pageRect().width(), QtCore.Qt.SmoothTransformation)

painter = QtGui.QPainter()
painter.begin(printer)
painter.drawImage(0, 0, im)
painter.end()
4

0 回答 0