haiyingbs 发表于 2022-12-4 13:04:07

pyqt5 printToPdf 生成PDF 动态生成的内容无法生成在PDF中

本帖最后由 haiyingbs 于 2022-12-4 13:06 编辑

我想把html另存为pdf

self.page = QtWebEngineWidgets.QWebEnginePage()
self.page.load(QUrl(html))
self.page.printToPdf("pppppp.pdf")

成功生成pdf   但html中动态js生成的内容无法没有生成在pdf中。
研究了好几天,在网上也没有找到相关的函数。
请问大神们,有什么办法吗?


haiyingbs 发表于 2022-12-4 18:18:05

请问大神们,有什么办法吗?

hrpzcf 发表于 2022-12-4 19:53:07

本帖最后由 hrpzcf 于 2022-12-4 19:57 编辑

发问题请带上能复现问题的最小代码,越难的问题越需要。

等待加载完成再保存 PDF




# coding: utf-8

import sys

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWebEngineWidgets import *
from PyQt5.QtWidgets import *

# class MainWindow(QMainWindow):
#   def __init__(self):
#         super().__init__()
#         self.centerw = QWidget()
#         self.wpage = QWebEngineView()
#         self.wpage.load(QUrl("https://fishc.com.cn/forum-173-1.html"))
#         self.btn = QPushButton("保存")
#         self.lay = QVBoxLayout()
#         self.lay.addWidget(self.wpage, 1)
#         self.lay.addWidget(self.btn, 0)
#         self.btn.clicked.connect(self.save_pdf)
#         self.centerw.setLayout(self.lay)
#         self.setCentralWidget(self.centerw)
#         self.show()

#   def save_pdf(self):
#         self.wpage.page().printToPdf("pppppp.pdf")
#         print("已保存, 耐心等待 pdf 文件出现...")


class MainWindow(QMainWindow):
    def __init__(self):
      super().__init__()
      self.page = QWebEnginePage()
      self.page.load(QUrl("https://fishc.com.cn/forum-173-1.html"))
      self.btn = QPushButton("保存", self)
      self.btn.clicked.connect(self.save_pdf)
      self.btn.setGeometry(10, 10, 75, 28)
      self.show()

    def save_pdf(self):
      self.page.printToPdf("pppppp.pdf")
      print("已保存, 耐心等待 pdf 文件出现...")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MainWindow()
    sys.exit(app.exec_())




页: [1]
查看完整版本: pyqt5 printToPdf 生成PDF 动态生成的内容无法生成在PDF中