2012-02-18 12 views
1

質問:ReportLabを使用してグラフを生成しています。グラフは適切に生成されますが、異なるPDFに生成されます。私はそれらを1つの既存のpdfに結合したい。コードのReportLabを使用して2つのチャートを1つの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') 

でこのコードは、2つの別々のPDFを生成http://www.reportlab.com/snippets/4/

をご参照ください。どうすればそれらを1つのPDFにまとめることができますか?

私は、コードにこれを試してみました:

def makePdf(self,drawing): 
    doc = SimpleDocTemplate('hello.pdf') 
    doc.build(drawing) 

、その後、私は、このメソッドに「BreakdownPieDrawing」クラスのオブジェクトを渡していました。しかし、このアプローチは機能していません。
私はreportLabとPythonのためにこのような醜いコードのために私を許しています。

したがって、このチャートを既存のpdfに追加する方法が問題です。どんな助けでも大歓迎です。

答えて

0

あなたがコードをよく見ると、あなたが設けられたスニペット(免責事項:私は;-)書いた)、特にライン#33であなたが

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

ラインが図面に円グラフを追加し、あなたがすることを確認2番目のグラフを#addメソッドを使用している同じ図面に追加する必要があります。また、#46の凡例を追加するスニペットと同じように、図面には2つの図があり、PDFとして保存すると両方の図が得られるはずです。

+0

ああ、それを得ました。 Thnx a lot Sir .. :-) –

+0

このスレッドに返信してください。 http://stackoverflow.com/questions/20343382/pyrhon-reportlabs-save-2-different-graphs-in-2-different-pagesありがとう – PythonEnthusiast

0

実際にこれらの2つのグラフはフルページですか?そうであれば、2つを描画する間にページ区切りを呼び出すことができます。それ以外の場合は、両方がページに収まるように座標を調整することができます。

また、複雑なことをしていてPlatypusを使用すると、カスタムのFlowableを作成してレンダリングするのが理にかなっています。

+0

あなたのご返信ありがとうございます。私の質問はこのチャートを既存のPDFに追加する方法です。付属のコードスニペットを使用して新しいPDFを作成します。このpdfをオブジェクトとして作成する方法や、thtのようなものがありますか?だから、私はそれを私の既存のpdfで使うことができ、どこでどのようにそれを描くことができます。いくつかのコードスニペットを参照することで、より良いアイデアを得ることができますか?どんなアイデアや提案も高く評価されます。 Thnkx –

関連する問題