我正在尝试将文本编辑器的内容保存为pdf文件。文本编辑器是使用PyQt制作的(我没有制作文本编辑器),我从here获得了文本编辑器的代码。我对编辑器做了一些更改,但这不会成为问题。
经过一些初步研究后,我发现我需要使用ReportLab发布pdf文件。但是我找不到办法来做到这一点。
有谁知道如何实现这一目标?
答案 0 :(得分: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)
您唯一需要的是一个菜单项来运行它,所以在Main.initUI
中添加:
pdfAction = QtGui.QAction("Save to PDF", self)
pdfAction.setStatusTip("Save to PDF")
pdfAction.triggered.connect(self.SavetoPDF)
...
file.addAction(pdfAction)