我刚刚在 Dash 中创建了一个仪表板,它会自动适合我的计算机显示器,而且看起来还不错。我现在遇到的问题是我必须找到一种打印为 PDF 的方法。
我见过 Vanguard 示例,它使用外部 CSS 格式化为 A4 尺寸,然后使用打印按钮(使用外部 javascript?)。有没有一种更“Dash 原生”的方法来做到这一点,不需要我学习另一种编程语言(我只知道 Python)?
Dash 用户指南上似乎没有任何内容 https://dash.plot.ly/ ,我找到的就是这个https://plot.ly/python/pdf-reports/其中描述了如何将单个绘图打印为 pdf。
理想情况下,它会按照现在的在线格式(在线布局)进行格式化,而不会丢失两侧的空间,然后我可以使用另一个可以打印的布局(pdf布局)。
任何有关如何继续此操作的链接或建议将不胜感激!
如果将绘图保存为 png 图像(图像最左侧的选项),您可以从plotly 获取 pdf:
然后使用该代码将 png 转换为 pdf:
from PIL import Image
# Save your plot as png file (option "Download as png" in upper-left corner)
PNG_FILE = 'horizontal-bar.png'
PDF_FILE = 'horizontal-bar.pdf'
rgba = Image.open(PNG_FILE)
rgb = Image.new('RGB', rgba.size, (255, 255, 255)) # white background
rgb.paste(rgba, mask=rgba.split()[3]) # paste using alpha channel as mask
rgb.save(PDF_FILE, 'PDF', resolution=100.0)
如果你是个懒人,你可以使用库 webkit2png check here how 。这样您就不必单击“下载为 png”按钮,只需将 html 转换为 png,然后再转换为 pdf。
我是一名优秀的程序员,十分优秀!