2012-03-14 12 views
6

Windows'ta Python ile açık kaynak sürüm Reportlab kullanıyorum. Kodum, birden fazla PNG dosyası aracılığıyla dönüyor &, bunları tek bir PDF oluşturmak için birleştiriyor. Her PNG, tam LETTER spesifikasyonuna (8.5x11) kadar gerilir.Python: Rapor Çıktısı PDF çıktısında sonraki sayfaya nasıl geçilir

Sorun şu ki, output.pdf dosyasına kaydedilen tüm resimler birbirinin üzerine sıkıştırılmış ve yalnızca son eklenen görüntü görünür. Yeni bir sayfaya kaydırmak için her drawImage() arasında eklemem gereken bir şey var mı?

WIDTH,HEIGHT = LETTER            
canv = canvas.Canvas('output.pdf',pagesize=LETTER)    
canv.setPageCompression(0)          

page = Image.open('one.png')          
canv.drawImage(ImageReader(page),0,0,WIDTH,HEIGHT) 

page = Image.open('two.png')          
canv.drawImage(ImageReader(page),0,0,WIDTH,HEIGHT) 

page = Image.open('three.png')         
canv.drawImage(ImageReader(page),0,0,WIDTH,HEIGHT) 

canv.save()              
+2

Eğer canv.drawImage kullandıktan sonra canv.showPage() kullanmayı deneyin: (http://www.reportlab.com/apis/reportlab/dev/pdfgen.html#reportlab.pdfgen.canvas.Canvas.showPage)

kaynak belge (bu konuda kullandığınız herhangi bir araç, ilişkili oldukları web belgelerine içine kazmak gerekir) izleyin (...) her seferinde. –

+0

Ah ha! Gerçekten ne yaptığını merak ettim ... Tricky. Bunu bir cevap olarak tekrar gönderirseniz kabul edeceğim! – user1145643

cevap

İlgili konular