2009-04-24 10 views

risposta

4

http://www.xhtml2pdf.com/

installare era un po 'eccentrico per me, ma per il resto ha funzionato bene.

+0

L'ho appena incontrato dopo la pubblicazione. Funzionando perfettamente! –

4

Si può fare qualcosa di simile utilizzando Pisa:

def receipt(request, id): 
    import ho.pisa as pisa 
    from django.template.loader import render_to_string 
    from datetime import datetime 

    r = get_or_404(id, request.affiliate)  
    now = datetime.now() 
    contents = render_to_string('home/reservations/receipt.html', { 
     'reservation': r, 
     'today': now 
    }) 
    filename = now.strftime('%Y-%m-%d') + '.pdf' 
    response = HttpResponse(mimetype='application/pdf') 
    response['Content-Disposition'] = 'attachment; filename=' + filename 
    pdf = pisa.CreatePDF(contents, response) 
    if pdf.err: 
     message(request, 'Unable to generate the receipt.') 
     return HttpResponseRedirect(reverse('view_reservation', args=[r.id]))  
    else: 
     return response 

(Questa è una vista Django che genera una ricevuta, ma ovviamente è possibile utilizzare Pisa in qualsiasi ambiente)

Stai andando ad avere per modificare l'HTML per farlo suonare il più bello possibile con Pisa, però.

4

C'è wkhtmltopdf un'opzione forse migliore che ho recentemente iniziato a utilizzare per il mio progetto. Non supporta solo CSS quasi completo, ma anche javascript. Prova prima il comando wkhtmltopdf per capire che è potente. Quindi si usa la sua estensione Python.

Ecco i link

E 'stato un po' difficile da installare per me. Così ho scritto questo script veloce e sporco.

+2

Vorrei poter dare +2 per la sceneggiatura! Grazie! – heltonbiker