Python(Django)でPDFを作成する

1. Djangoでアプリを作成

$ django-admin startproject myapp

2. ReportLabをインストール

$ pip3 install reportlab

3. ReportLabを利用してPDFを作成する

from django.http import HttpResponse
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.cidfonts import UnicodeCIDFont
from reportlab.lib.units import cm
from reportlab.lib.pagesizes import A4, portrait

def output_pdf(request):
    response = HttpResponse(content_type='application/pdf')
    file_pdf = "test.pdf"
    response['Content-Disposition'] = 'filename=' + file_pdf
    pp = canvas.Canvas(response)
    fontname_g = "HeiseiKakuGo-W5"
    pdfmetrics.registerFont (UnicodeCIDFont (fontname_g))
    pp.setFont(fontname_g,16)
    pp.drawString(100, 800, "Test!")
    pp.showPage()
    pp.save()
    return response