from django.http import HttpResponse from django_tex.core import compile_template_to_pdf class PDFResponse(HttpResponse): def __init__(self, content, filename=None): super(PDFResponse, self).__init__(content_type='application/pdf') self['Content-Disposition'] = 'filename="{}"'.format(filename) self.write(content) def render_to_pdf(request, template_name, context=None, filename=None): # Request is not needed and only included to make the signature conform to django's render function pdf = compile_template_to_pdf(template_name, context) return PDFResponse(pdf, filename=filename)