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'))