将QTextEdit的内容保存为*.pdf?

the*_*232 4 python reportlab pyqt qtextedit python-2.7

我试图将文本编辑器的内容保存为pdf文件.文本编辑器是使用PyQt制作的(我没有制作文本编辑器),我从这里获得了文本编辑器的代码.我对编辑器做了一些更改,但这不会成为问题.

经过一些初步的研究后,我发现我需要使用ReportLab来发布一个pdf文件.但我找不到办法做到这一点.

有谁知道如何实现这一目标?

ekh*_*oro 8

文本编辑器的源代码已经有一个PDF方法,但它没有使用,并且可能无法正常工作.

应该在所有平台上运行的方法的基本重写如下所示:

def SavetoPDF(self):
    filename = QtGui.QFileDialog.getSaveFileName(self, 'Save to PDF')
    if filename:
        printer = QtGui.QPrinter(QtGui.QPrinter.HighResolution)
        printer.setPageSize(QtGui.QPrinter.A4)
        printer.setColorMode(QtGui.QPrinter.Color)
        printer.setOutputFormat(QtGui.QPrinter.PdfFormat)
        printer.setOutputFileName(filename)
        self.text.document().print_(printer)
Run Code Online (Sandbox Code Playgroud)

你唯一需要的是一个菜单项来运行它,所以Main.initUI只需添加:

    pdfAction = QtGui.QAction("Save to PDF", self)
    pdfAction.setStatusTip("Save to PDF")
    pdfAction.triggered.connect(self.SavetoPDF)
    ...

    file.addAction(pdfAction)
Run Code Online (Sandbox Code Playgroud)