ReportLab: 使用Python将图表添加到PDF中

ReportLab工具包支持向PDF文件中添加许多不同的图表。事实上,我在前一篇文章中已经介绍了其中的一些。然而,我所见过的大多数示例,包括我自己的文章中的示例,都没有显示如何将图表插入为一个Flowable(工作流)。

这意味着大多数示例都向您展示了如何创建一个包含图表的单页PDF。大多数开发人员都希望能够创建一些文本,也许是一个表,并将图表和这些元素一起插入其中。您通常也会在图表后面添加额外的文本。

在本文中,您将学习如何做到这一点。

添加一个图表

我们来创建一个简单的饼状图并将它添加到一个简单的PDF中。您将创建的这个PDF将在图表前后各有一个句子。

以下是代码:

ReportLab: 使用Python将图表添加到PDF中

ReportLab: 使用Python将图表添加到PDF中

代码中需要导入大量的包。请随时在ReportLab的文档中查阅这些内容。我将把重点放在这里的函数上。第一个函数将为图表创建一个Legend。它设置图表的x/y坐标,并使用图表对象自动确定图例中的颜色。

第二个函数将创建饼状图本身。ReportLab中的图表存放在Drawing对象中。因此,您创建一个Drawing对象,然后再创建一个Pie对象。接下来设置它的位置并向图表中添加一些数据。在将图表添加到绘图对象之前,您还可以添加标签并设置图表的笔画宽度。

最后一个函数称为main()。在这个函数中,您将创建一个文档模板,并使用ReportLab的Paragraph对象来添加一个文本字符串。然后调用饼状图创建函数来获取绘图,该绘图可以被添加到您正在调用的elements的Flowable(工作流)列表中。最后,添加另一个Paragraph段落,然后构建文档并将其写入磁盘。

以下是PDF的内容:

ReportLab: 使用Python将图表添加到PDF中

总结

这是一篇相当短的文章,但我希望它能帮助您了解如何使用Python和ReportLab将图表插入到您的PDF文件中。如果您对添加其他类型的图表感兴趣,您应该查看一下ReportLab的文档或下面的文章之一。

英文原文:http://www.blog.pythonlibrary.org/2019/04/08/reportlab-adding-a-chart-to-a-pdf-with-python/ 译者:Nothing

相关推荐