2017-02-15 6 views
0

私はjpgイメージに文字列を描画し、reportlabでpdfにしようとしています。私はこのようにそれをやっているとき は、それが動作します:レポートラボ関数はpdfファイルを生成しません

from reportlab.pdfgen import canvas 
from reportlab.lib.pagesizes import landscape, A4, letter 
from reportlab.lib.units import cm, inch 

data = dict(name='Nita Alexandru Stefan', year='1993') 


def generate_pdf(data, canvas): 
    file = 'test.pdf' 
    c = canvas.Canvas(file, pagesize=landscape(letter)) 
    c.drawImage('cert.jpg', 0*cm, 0*cm, 29*cm, 22*cm) 
    c.setFont("Times-Roman", 12) 
    c.setFillColorRGB(0.2578125, 0.2265625, 0.23046875) 
    c.drawString(500, 374, data.get('name', "")) 
    c.drawString(429, 359, data.get('year', "")) 
    c.showPage() 
    c.save() 

from reportlab.pdfgen import canvas 
from reportlab.lib.pagesizes import landscape, A4, letter 
from reportlab.lib.units import cm, inch 


file = 'test.pdf' 
name = 'Nita Alexandru Stefan' 
year = '1993' 

c = canvas.Canvas(file, pagesize=landscape(letter)) 
c.drawImage('cert.jpg', 0*cm, 0*cm, 29*cm, 22*cm) 
c.setFont("Times-Roman", 12) 
c.setFillColorRGB(0.2578125, 0.2265625, 0.23046875) 
c.drawString(500, 374, name) 
c.drawString(429, 359, year) 
c.showPage() 
c.save() 

は、私は、私はこれをしようとしているとき、それは何も発生しない関数を作成して)(dict.get使用したいです

なぜ何も生成されず、以前に作成されたファイルを変更しないという理想がありますか? generate_pdf

のように終わる機能後

generate_pdf(data, canvas) 

答えて

1

は、それはあなたがgenerate_pdf function

コールを呼び出していないようです

def generate_pdf(data, canvas): 
    file = 'test.pdf' 
    c = canvas.Canvas(file, pagesize=landscape(letter)) 
    c.drawImage('cert.jpg', 0*cm, 0*cm, 29*cm, 22*cm) 
    c.setFont("Times-Roman", 12) 
    c.setFillColorRGB(0.2578125, 0.2265625, 0.23046875) 
    c.drawString(500, 374, data.get('name', "")) 
    c.drawString(429, 359, data.get('year', "")) 
    c.showPage() 
    c.save() 

generate_pdf(data, canvas) 
+0

[OK]を、私は理解してどのようにすることができ、その私は望む結果を得るために関数を呼び出しますか? –

+0

完璧、ありがとう –

関連する問題