Pada kesempatan kali ini saya akan menampilkan cara untuk export dokumen pdf dengan Django. Untuk menghasilkan sebuah dokumen pdf, dibutuhkan library tambahan yaitu xhtml2pdf, install dengan printah berikut pada command prompt

pip install xhtml2pdf

selanjutnya buat file bernama render.py

[python]
from io import BytesIO 
from django.http import HttpResponse
from django.template.loader import get_template
from xhtml2pdf import pisa

def render_to_pdf(template_src, context_dict={}):
template = get_template(template_src)
html = template.render(context_dict)
result = BytesIO()
#Bagian ini akan meng-generate pdf
pdf = pisa.pisaDocument(BytesIO(html.encode("ISO-8859-1")), result)
if not pdf.err:
return HttpResponse(result.getvalue(), content_type=’application/pdf’)
return None
[/python]

langkah selanjutnya buka views.py input code dibawah ini, fungsi dari code ini untuk melakukan
generating pdf dokumen

[python]
</pre>
from django.template.loader import get_template
from .render import render_to_pdf

def get_pdf(request):
#mengambil template
data ={}
data[‘coba’] = "Ini adalah hasil cetak"
pdf = render_to_pdf(‘coba.html’,data)
#render template
return HttpResponse(pdf, content_type=’application/pdf’)[/python]

untuk pemanggilan fungsi input code berikut pada urls.py

[python]

url(r’^get_pdf’, views.get_pdf, name=’get_pdf’),[/python]

kemudian buat template dengan nama coba.html, fungsi get_pdf pada views.py akan melakukan generating pdf pada halaman html tersebut.

[html]

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Django HTMLtoPDF Tutorial</title>
</head>
<body>
<h1>HTML To PDF</h1>
Berikut ini adalah halaman yang akan di generate pdf oleh django
</body>
</html>

[/html]

selanjutnya lakukan pemanggilan fungsi tersebut pada url

[python]localhost:8000/get_pdf[/python]

maka akan muncul document pdf yang kita inginkan
sekian tutorial dari saya.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *