我在PYQT5设计器中设置了一个页面,当它在屏幕上正常打开时,它看起来像上帝一样,所以我尝试保存为PDF。
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtWidgets import QApplication, QFileDialog, QWidget, QMainWindow, QComboBox,
from PyQt5.QtPrintSupport import QPrinter
from export_pdf_ui import *
import sys
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args,**kwargs)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.export()
def export(self):
printer = QPrinter(QPrinter.HighResolution)
printer.setOutputFormat(QPrinter.PdfFormat)
printer.setOutputFileName("test.pdf")
printer.setPaperSize(QPrinter.A4)
printer.setPageSize(QPrinter.A4)
printer.setFullPage(True)
self.ui.centralwidget.render(printer)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()它运行良好,并输出一个PDF文件,但内容很小,而且在角落里,即使完全放大,你也不能真正阅读它。我如何让它填满整个页面?或者这是一个设计问题?它在屏幕上看起来不错
发布于 2021-09-27 17:12:36
尝试使用QPrinter::ScreenResolution而不是QPrinter.HighResolution.创建打印机
我在将QTextDocument打印到我用QPrinter::HighResolution创建的物理打印机时遇到了类似的问题。如果我调用QTextDocument::setPageSize来消除页码,纸上的输出大约是50 be宽。我不知道您是否遇到了同样的问题,但对我来说,我的难题的最后一块是我创建QPrinter对象时使用的解决方案。
https://stackoverflow.com/questions/68483720
复制相似问题