Create PDF Using Dynamic HTML5 Template in Python 3 Flask pdfkit

In this tutorial, you will get the full source code of the Python 3 Flask project to create a PDF document using a dynamic HTML5 template. We will use the pdfkit library to create the PDF document with ease.

pip install flask
pip install pdfkit

code.py

from flask import Flask
from flask import render_template
from flask import make_response
import pdfkit

app = Flask(__name__)


@app.route("/")
def index():
    name = "SIR JOHN WILLIAMSON LATHAM"
    html = render_template(
        "certificate.html",
        name=name)
    pdf = pdfkit.from_string(html, False)
    response = make_response(pdf)
    response.headers["Content-Type"] = "application/pdf"
    response.headers["Content-Disposition"] = "inline; filename=output.pdf"
    return response


if __name__ == "__main__":
    app.run(debug=True)

templates/certificate.html

<h1>Hello my name is
{{name}}
</h1>

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.