我想导出的网站,我已经在冲刺成一个静态PDF。下面是我的站点的代码(它只是一个包含3列的图表):
import dash
import dash_core_components as dcc
import dash_html_components as html
import pdfkit
from flask import Flask, render_template, make_response
app = dash.Dash()
app.layout = html.Div(
className="three columns",
children=html.Div([
dcc.Graph(
id='right-top-graph',
figure={
'data': [{
'x': [1, 2, 3],
'y': [3, 1, 2],
'type': 'bar'
}],
'layout': {
'height': 400,
'margin': {'l': 10, 'b': 20, 't': 0, 'r': 0}
}
}
),
])
)
app.css.append_css({
'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'
})
if __name__ == '__main__':
app.run_server(debug=True)
我尝试通过将此代码添加到我的脚本中来使用pdfkit,但是它没有工作(收到一个错误,告诉我render_template()接受了一个位置参数,但给出了两个位置参数):
rendered = render_template('pdf_template.html',app)
pdf = pdfkit.from_string(rendered, False)
response = make_response(pdf)
response.headers['Content-Type'] = 'application/pdf'
response.headers['Content-Disposition'] = 'attachment; filename=output.pdf'
有没有人知道我如何将我的短跑站点转换成PDF??
提前谢谢。
发布于 2018-10-18 17:16:44
发布于 2018-10-24 20:21:48
您可以通过以下方式使用pdfkit:
import pdfkit
pdfkit.from_url('http://local.dash.site', 'out.pdf')
与您发布的内容有很大不同的是,您可以使用本地web服务器来呈现页面。
作为替代,您还可以使用https://wkhtmltopdf.org/ --这是pdfkit下面的lib。
发布于 2018-10-19 21:27:43
您可以使用以下链接中的说明创建pdf:http://flask.pocoo.org/snippets/68/
render_template只接受一个位置参数,其余的必须是关键字参数。
https://stackoverflow.com/questions/52820266
复制相似问题