2017-07-07 6 views
0

私はpdfkitを使用して請求書pdfを作成します。現時点では私はそれを保存したいだけです。その後、請求書ファイル名をDBに保存し、AWS3に保存します。Flask Pdfkitはテンプレートからpdfを作成して保存します

しかし、私は、私はそれを間違った方法を要求し、おそらくので、ファイルを保存しようとIOエラーを取得し、今のところ:

pdfkit.from_file(render_template('invoice_template.html', invoice_id=1, invioce_date_start=str(date.today()), 
            invioce_date_end=str(date.today()), invioce_company_name=form.zahlung_firma.data, invioce_user_vorename=form.vorname.data, 
            invioce_user_surname=form.nachname.data, invioce_user_email=current_user.email), str(current_user.id) + '-invoice.pdf') 

エラー:

Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\flask\app.py", line 1988, in wsgi_app 
    response = self.full_dispatch_request() 
    File "C:\Python27\lib\site-packages\flask\app.py", line 1641, in full_dispatch_request 
    rv = self.handle_user_exception(e) 
    File "C:\Python27\lib\site-packages\flask\app.py", line 1544, in handle_user_exception 
    reraise(exc_type, exc_value, tb) 
    File "C:\Python27\lib\site-packages\flask\app.py", line 1639, in full_dispatch_request 
    rv = self.dispatch_request() 
    File "C:\Python27\lib\site-packages\flask\app.py", line 1625, in dispatch_request 
    return self.view_functions[rule.endpoint](**req.view_args) 
    File "C:\Python27\lib\site-packages\flask_login.py", line 758, in decorated_view 
    return func(*args, **kwargs) 
    File "C:\Users\User\Eclipse-Workspace\Monteurzimmer\main.py", line 114, in decorated_function 
    return func(*args, **kwargs) 
    File "C:\Users\User\Eclipse-Workspace\Monteurzimmer\main.py", line 1252, in logged_in 
    invioce_user_surname=form.nachname.data, invioce_user_email=current_user.email), str(current_user.id) + '-invoice.pdf') 
    File "C:\Python27\lib\site-packages\pdfkit\api.py", line 47, in from_file 
    configuration=configuration, cover_first=cover_first) 
    File "C:\Python27\lib\site-packages\pdfkit\pdfkit.py", line 41, in __init__ 
    self.source = Source(url_or_file, type_) 
    File "C:\Python27\lib\site-packages\pdfkit\source.py", line 12, in __init__ 
    self.checkFiles() 
    File "C:\Python27\lib\site-packages\pdfkit\source.py", line 32, in checkFiles 
    raise IOError('No such file: %s' % self.source) 
IOError: No such file: <!doctype html> 

テンプレート自体は可能hereが見つかりました。私はジンジャ変数を編集しました。

答えて

2

pdfkit.from_file()ファイルオブジェクトを入力として受け取りますが、render_template()は文字列を返します。代わりにpdfkit.from_string()を試してください。

詳細情報:pypi - pdfkit

関連する問題