如何格式化和打印仪表板到PDF?

2024-05-19 06:48:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚在Dash中创建了一个仪表板,它自动适应我的电脑显示器,看起来有点像样。我现在有一个问题,我必须产生一种打印到PDF的方法。在

我看到了一个先锋的例子,它使用外部CSS格式化成A4纸大小,然后是一个打印按钮(使用外部javascript?)。有没有一种更“Dash native”的方法不需要我学习另一种编程语言(我只知道Python)?在

Dash用户指南https://dash.plot.ly/上似乎没有任何内容,我找到的只是这个https://plot.ly/python/pdf-reports/,它描述了如何将单个图形打印成pdf格式。在

理想情况下,它将格式化为现在在线(在线布局)而不会损失侧边的空间,然后我可以使用另一个布局(pdf布局),可以打印出来。在

任何链接或建议如何继续这将是非常感谢!在


Tags: 方法httpspdfplotly仪表板布局显示器
1条回答
网友
1楼 · 发布于 2024-05-19 06:48:04

如果将打印另存为png图像(图像最左边的选项),则可以从plotly获取pdf: Look at here

然后使用该代码将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)

如果你是一个懒惰的人,你可以使用库webkit2pngcheck here how。这允许您不点击下载为png按钮,只需从html转换为png,然后再转换为pdf。在

相关问题 更多 >

    热门问题