January 18, 2023
Как преобразовать локальный html-файл в pdf с помощью PyQt5?
Вы должны передать путь к файлу как url с помощью QUrl.fromLocalFile(), также не нужно создавать QWebEngineView, а просто использовать QWebEnginePage:
import os import sys from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets def html_to_pdf(html, pdf): app = QtWidgets.QApplication(sys.argv) page = QtWebEngineWidgets.QWebEnginePage() def handle_print_finished(filename, status): print("finished", filename, status) QtWidgets.QApplication.quit() def handle_load_finished(status): if status: page.printToPdf(pdf) else: print("Failed") QtWidgets.QApplication.quit() page.pdfPrintingFinished.connect(handle_print_finished) page.loadFinished.connect(handle_load_finished) page.load(QtCore.QUrl.fromLocalFile(html)) app.exec_() if __name__ == "__main__": CURRENT_DIR = os.path.dirname(os.path.realpath(__file__)) filename = os.path.join(CURRENT_DIR, "index.html") print(filename) html_to_pdf(filename, "test.pdf")