Esempio n. 1
0
def print_invoice(request, invoice_id):
    invoice_objects = Invoice.objects.prefetch_related('invoiceitem_set')
    invoice = get_object_or_404(invoice_objects, pk=invoice_id)
    file = 'invoice_' + str(invoice.company) + invoice.period.display
    filename = 'filename={}.pdf'.format(
        file.replace(".", "").replace(',', '').replace(' ', '_'))
    response = HttpResponse(content_type='application/pdf')
    response['Content-Disposition'] = filename
    doc = SimpleDocTemplate(response,
                            rightMargin=.6 * cm,
                            leftMargin=2 * cm,
                            topMargin=2.75 * cm,
                            bottomMargin=3 * cm,
                            pagesize=letter)
    elements = invoice.print_invoice_data()
    doc.firstname = request.user.first_name
    doc.lastname = request.user.last_name
    doc.total_amount = invoice.total_amount
    doc.build(elements, onFirstPage=footer)
    return response