2009-04-24 35 views

Trả lời

4

http://www.xhtml2pdf.com/

cài đặt là một chút kỳ quặc đối với tôi, nhưng mặt khác nó làm việc tốt.

+0

Chỉ cần chạy vào đó sau khi đăng. Làm việc hoàn hảo! –

4

Bạn có thể làm một cái gì đó như thế này sử dụng 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 

(Đây là một cái nhìn Django mà tạo ra một nhận nhưng rõ ràng bạn có thể sử dụng Pisa ở thiết lập bất cứ điều gì)

Bạn sẽ có để tinh chỉnh HTML để làm cho nó chơi tốt nhất có thể với Pisa, mặc dù.

4

Có wkhtmltopdf một tùy chọn có thể tốt hơn mà gần đây tôi đã bắt đầu sử dụng cho dự án của tôi. Nó không chỉ hỗ trợ CSS gần như hoàn chỉnh mà còn javascript. Hãy thử lệnh wkhtmltopdf trước để hiểu sức mạnh của nó. Sau đó, bạn sử dụng phần mở rộng python của nó.

Dưới đây là liên kết

Đó là một chút khó khăn để cài đặt cho tôi. Vì vậy, tôi đã viết kịch bản nhanh chóng và dơ bẩn này. chỉ hoặc là một phần của một nút "tải trang này dưới dạng PDF" trên một trang web

+2

Ước gì tôi có thể cho +2 cho kịch bản! Cảm ơn! – heltonbiker

Các vấn đề liên quan