如何使用ReportLab将两个图表合并到一个PDF中?

2024-04-25 15:13:16 发布

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

问:我正在使用ReportLab生成图表。图表生成正确,但生成不同的PDF格式。我想把它们合并成一个现有的pdf文件。在

代码的基本结构是

class BreakdownPieDrawing():

    def firstChart():
        #code for generating first Pie chart

    def secondChart():
        #code for generating second Pie chart

if __name__=="__main__":   
    drawing1 = BreakdownPieDrawing()  
    drawing1.firstChart()
    drawing1.save(formats=['pdf'],outDir='.',fnRoot='first')

    drawing2 = BreakdownPieDrawing()  
    drawing2.secondChart()
    drawing2.save(formats=['pdf'],outDir='.',fnRoot='second')

完整的代码片段请参考http://www.reportlab.com/snippets/4/

此代码生成两个独立的PDF。我如何将它们合并成一个PDF格式。在

我试着编码:

^{pr2}$

然后在我把“BreakdownPieDrawing”类的对象传递给这个方法之后。但这种方法行不通。
我刚接触reportLab和python,请原谅我的代码太难看了。在

所以问题是如何将这些图表添加到现有的pdf中。任何帮助都将不胜感激。在


Tags: 代码forpdfdef格式图表codefirst
2条回答

如果你仔细看看你提供的代码片段(免责声明:我写的;-))特别是在#33行

# adding a pie chart to the drawing   
self._add(self,Pie(),name='pie',validate=None,desc=None)

这些线将饼图添加到绘图中,然后需要将第二个图表添加到使用“添加”方法的同一个绘图中,就像代码段在第46行上添加图例一样。您的绘图将有两个图表,当您将其保存为PDF时,您应该同时获得它们。在

这两张图表真的是整页的吗?如果是这样的话,你可以在画这两张图之间要求一个分页符。否则,您可以调整坐标,使两者都适合页面。在

或者,如果您正在执行更复杂的操作,并且最终将使用鸭嘴兽,那么创建一个自定义流来渲染它们可能是有意义的。在

相关问题 更多 >