我尝试过使用 wkhtml 和 weasyprint 库,但所有这些库都呈现一个空白的 pdf 页面。唯一可行的选项是 pdfcrowd,但这是一个付费图书馆。我找到了几个使用 PyQt 转换网页的选项:
import sys
from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets
app = QtWidgets.QApplication(sys.argv)
loader = QtWebEngineWidgets.QWebEngineView()
loader.setZoomFactor(1)
loader.page().pdfPrintingFinished.connect(
lambda *args: print('finished:', args))
loader.load(QtCore.QUrl('https://en.wikipedia.org/wiki/Main_Page'))
def emit_pdf(finished):
loader.show()
loader.page().printToPdf("test.pdf")
loader.loadFinished.connect(emit_pdf)
app.exec()
但是,我不太确定如何使它适应本地保存的 html 文件。
BIG阳
相关分类