5

いくつかの画像を含むHTML/CSSページがあり、そのソースからPythonでPDFを生成したいとします-可能ですか?

4

3 に答える 3

4

http://www.xhtml2pdf.com/

インストールは私にとって少し風変わりでしたが、それ以外はうまくいきました。

于 2009-04-24T16:00:53.060 に答える
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 のビューですが、どの設定でも Pisa を使用できることは明らかです)

ただし、HTML を微調整して、Pisa でできるだけうまく動作するようにする必要があります。

于 2009-04-24T16:11:01.087 に答える
4

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

ここにリンクがあります

私にとっては、インストールが少し面倒でした。だから私はこの手っ取り早い汚いスクリプトを書きました。

于 2011-11-03T18:28:16.013 に答える