我在尝试将 QWebView/QTextDocument 打印到多页 PDF 时遇到问题,但是无论我做什么,我都只会得到最后一页的单页 PDF。正如大多数示例所示,我正在使用 printer.newPage() 命令,但我总是得到相同的结果。这个程序为我展示了这个问题(使用 QTextDocument,QWebView 给出了相同的结果):
from PyQt4.QtGui import QTextDocument, QPrinter, QApplication
import sys
app = QApplication(sys.argv)
doc = QTextDocument()
doc.setHtml('''
<html>
<body>
<h1>Page 1</h1>
</body>
</html>
''')
printer = QPrinter()
printer.setOutputFileName("foo.pdf")
printer.setOutputFormat(QPrinter.PdfFormat)
doc.print_(printer)
doc.setHtml('''
<html>
<body>
<h1>Page 2</h1>
</body>
</html>
''')
printer.newPage()
doc.print_(printer)
print "done!"
我是否犯了一些明显的错误,还是我误解了 newPage() 的使用以及在同一台打印机上进行多次 print_ 调用的能力?