2009-04-24 15 views

Respuesta

4

http://www.xhtml2pdf.com/

instalación fue un poco raro para mí, pero por lo demás funcionaba bien.

+0

Acabo de toparme con eso después de publicarlo. ¡Funcionando perfectamente! –

4

Usted puede hacer algo como esto utilizando 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 

(Esta es una vista de Django que genera un recibo pero obviamente puede utilizar en cualquier entorno Pisa)

Vas a tener sin embargo, modificar el código HTML para que sea lo más agradable posible con Pisa.

4

Hay una opción mejor que wkhtmltopdf que recientemente comencé a utilizar para mi proyecto. No solo es compatible con CSS casi completo sino también con javascript. Pruebe primero el comando wkhtmltopdf para comprender su poder. Luego usas su extensión python.

Éstos son enlaces

fue un poco difícil de instalar para mí. Así que escribí este guión rápido y sucio. única o como parte de un botón "descargar esta página como PDF" en una página web

+2

¡Ojalá pudiera dar +2 por el guión! ¡Gracias! – heltonbiker

Cuestiones relacionadas