4

weasyprintを使用してhtmlから.pdfを生成し、添付ファイルとして送信するフラスコアプリケーションを作成しました。しかし、明らかにbootstrap 4 cssは適用されていません。解決策が見つかりません。pdfkit では問題なく動作していますが、pythonanywhere.com は pdfkit をサポートしていないため、weasyprint が必要です。

html のファイルとしてブートストラップ css を使用して、ブートストラップをリンクしようとしましたが、違いはありませんでした。

これは私のpython部分で、pdfを生成して送信します。

@app.route('/pdf_send', methods=('GET', 'POST'))
@login_required
def pdf_send():

    rendered = render_template(
    'pdf_send2.html', 
    name=name_g, 
    surname=surname_g,
    email=email_g,
    address=address_g,
    invoice_no=invoice_no_g,
    dict_g=dict_g,
    bendra_suma_g = ('%.2f' % round(float(bendra_suma_g[0]), 2)),
    send=send_g,
    today=today_g
    )

    css_file = ('static/bootstrap.css')
    filename = 'SF-' + invoice_no_g +'.pdf'
    html = HTML(string=rendered)
    css = CSS(filename=css_file)
    html.write_pdf(filename, stylesheets=[css])
    send_email(filename, email_g)

    return redirect(url_for('index'))
4

2 に答える 2

1

weasyprint は bootstrap ではうまく機能しません。

これは、わかりやすくするためのGithub サイトへの参照リンクです。

作成したブートストラップ クラスは、WeasyPrint によって無視されます。

WeasyPrint のエラー ログに「Ignored ...」というメッセージが表示されます (初期化したことがある場合)。

したがって、印刷ページには CSS を使用することをお勧めします。

于 2018-04-10T10:59:12.257 に答える