2009-04-24 20 views
5

私はそこにいくつかの画像があるHTML/CSSページを持っていて、そのソースからPythonでPDFを生成したいと考えていましたか?PythonでHTML/CSS(画像を含む)ソースからPDFを生成するには?

+0

ある時のみ、またはWebページ上の「PDFとしてこのページをダウンロード」ボタンの一環として?どのプラットフォームですか? Mac OS Xでは、任意のWebページをPDFとして保存できます。 –

答えて

4

http://www.xhtml2pdf.com/

インストールは私のために少し風変わりだったが、それ以外の場合はうまく働きました。

+0

投稿した後でそれに遭遇しました。完璧に動作します! –

4

あなたは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 

あなたが持っているつもりだ

(これはどんな設定でピサを領収書を生成しますが、明らかにあなたが使用することができますDjangoのビューです) HTMLを微調整してPisaで可能な限りうまくプレイできるようにする。

4

私のプロジェクトで最近使用したより良いオプションがwkhtmltopdfです。ほぼ完全なCSSだけでなく、JavaScriptもサポートしています。最初にwkhtmltopdfコマンドを試して、そのパワーを理解してください。次に、Pythonの拡張機能を使用します。ここで

は、私のためにインストールするには少しトリッキーだっリンク

です。だから私はこの素早く汚れたスクリプトを書いた。

+2

私はスクリプトのために+2を与えることができました!ありがとう! – heltonbiker

関連する問題