Обычно я использую pdfkit с приложением Flask на окнах, чтобы добавить в приложение функцию «загрузить страницу в формате PDF». где пользователь может нажать кнопку, и страница HTML превратится в файл PDF.
PDF-файл не загружается и не отображается. Это сообщение об ошибке, которое я получаю, и мой код. «Обратите внимание, что HTML-файл использует CSS, JS, сторонние библиотеки JS».
OSError: wkhtmltopdf завершился с ненулевым кодом 3221225477. ошибка:
Загрузка страниц (1/6)
[>. ] 0%
...
[======] 100%
app.py
@app.route("/dashboard")
def dashboard():
return render_template("dashboard.html")
@app.route("/download_pdf")
def download_pdf():
path_wkhtmltopdf = r"path/to/wkhtmltopdf.exe"
config = pdfkit.configuration(wkhtmltopdf=path_wkhtmltopdf)
url = url_for("dashboard")
pdf_file = pdfkit.from_url(url, False, configuration=config)
response = make_response(pdf_file)
response.header["Content-Type"] = "application/pdf"
response.header["Content-Disposition"] = "inline; filename=output.pdf"
return response
dashboard.html
<html>
<head>
<link href="path/to/bootstrap.min.css">
<link href="style.css">
</head>
<body>
<!— html content —>
<a href='{{url_for("download_pdf")}}'>download page as pdf</a>
<script src="path/to/jquery-3.3.1.min.js"></script>
<script src="path/to/bootstrap.min.js"></script>
<script src="path/to/Chart.bundle.min.js"></script>
<script>
$(function(){
// ajax and Cahrt.js code
});
</script>
</body>
</html>