使用 reportlab 通过 matplotlib 生成的基于向量的图形构建 PDF

发布于 2024-10-22 07:36:23 字数 677 浏览 7 评论 0原文

我正在尝试使用 reportlab 在 Django 安装中的服务器端构建 PDF 文档。这些文档应包含多个使用 matplotlib 创建的图表。

我已经弄清楚如何让reportlab使用matplotlib的图像,而不通过传递 PIL-Image 对象直接到Image()-flowable。对于 PNG 等光栅化图像格式来说,这效果出奇地好。

现在,锦上添花的是能够嵌入基于矢量的图形(如 SVG)。

我使用 svglib 将 matplotlib 生成的 SVG 转换为 reportlab 图形对象,但不幸的是 svglib 确实省略了刻度线和轴标签。在某些图表上,它通常会失败。

你有什么想法吗?

I'm trying to build PDF-documents on the server-side in a Django-Installation using reportlab. These documents should contain several graphs which are to be created with matplotlib.

I already figured out how to make reportlab use matplotlib's images without dumping them to the filesystem temporarily by passing PIL-Image objects directly to the Image()-flowable. This works surprisingly well for rasterized images formats like PNG.

Now, the icing on the cake would be able to embed vector based graphics (like SVG).

I used svglib to convert SVGs generated by matplotlib to reportlab graphic objects but unfortunately svglib does omit the tickmarks and axis labels. On some graphs it fails in general.

Do you have any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉墨 2024-10-29 07:36:23

此页面有一个我还没有机会测试自己的解决方案: https://web.archive.org/web/20120725125858/http://terior.netmanagers.com.ar/weblog/posts/BB753.html

This page has a solution that I haven't had a chance to test myself yet: https://web.archive.org/web/20120725125858/http://lateral.netmanagers.com.ar/weblog/posts/BB753.html

万劫不复 2024-10-29 07:36:23

您可以将 matplotlib 图形生成为 pdf 并使用 pdfrw 将其嵌入到 reportlab 画布中,如中所述这个答案

You can generate matplotlib graphics as pdf and use pdfrw to embed it in reportlab canvas as described in this answer

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文