gpt4 book ai didi

python - 如何将用 Dash 编写的网站显示为静态 PDF (Python)?

转载 作者:太空狗 更新时间:2023-10-29 21:44:57 26 4
gpt4 key购买 nike

我想将我在 dash 中创建的网站导出为静态 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() 接受 1 个位置参数,但给出了 2 个):

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'

有人知道如何将我的 dash 网站转换为 PDF 吗?

提前致谢。

最佳答案

您可以使用您正在使用的任何浏览器的打印功能(通常是 control + p),如果您要查找的只是静态 PDF 文件,则可以将其另存为 PDF。

如果您想要更多增强的功能,您可以添加一个打印到 PDF 按钮,就像破折号中的一个一样 examples .它使用 js 文件调用浏览器打印功能,请参阅 more detail .这样您还可以使用 CSS 来定义 PDF 输出的外观

使用 python 文件直接生成 pdf 的问题是 dash 只创建布局树的 JSON 表示,然后在浏览器本身中组装,参见 more .

关于python - 如何将用 Dash 编写的网站显示为静态 PDF (Python)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52820266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com