2013-09-06 6 views
15

मैं Django का उपयोग कर साइट पर काम कर रहा हूं और मैं रिपोट्लैब का उपयोग करके एक .pdf फ़ाइल मुद्रित करता हूं।रिपोर्टलैब का उपयोग कर एकाधिक पृष्ठ - Django

अब, मैं चाहता हूं कि फ़ाइल में एकाधिक पेज हों, मैं इसे कैसे कर सकता हूं?

मेरे कोड:

from reportlab.pdfgen import canvas 
from django.http import HttpResponse 

def Print_PDF(request): 
    response = HttpResponse(content_type='application/pdf') 
    response['Content-Disposition'] = 'attachment; filename="resume.pdf"' 

    p = canvas.Canvas(response) 

    p.drawString(100, 100, "Some text in first page.") 
    p.drawString(200, 100, "Some text in second page.") 
    p.drawString(300, 100, "Some text in third page") 

    p.showPage() 
    p.save() 
    return response 

अग्रिम धन्यवाद।

उत्तर

28

showPage(), इसके भ्रमित नाम के बावजूद, वास्तव में वर्तमान पृष्ठ समाप्त हो जाएगा, इसलिए इसे कॉल करने के बाद कैनवास पर जो कुछ भी आप आकर्षित करते हैं, वह अगले पृष्ठ पर जाएगा।

अपने उदाहरण में, आप प्रत्येक p.drawString उदाहरण के बाद p.showPage() का उपयोग कर सकते हैं और वे सभी अपने पृष्ठ पर दिखाई देंगे।

def Print_PDF(request): 
    response = HttpResponse(content_type='application/pdf') 
    response['Content-Disposition'] = 'attachment; filename="resume.pdf"' 

    p = canvas.Canvas(response) 

    p.drawString(100, 100, "Some text in first page.") 
    p.showPage() 

    p.drawString(200, 100, "Some text in second page.") 
    p.showPage() 

    p.drawString(300, 100, "Some text in third page") 
    p.showPage() 

    p.save() 
    return response 
+1

मुझे पहले से ही यह मिला है, लेकिन मैं अपनी प्रतिष्ठा के लिए उत्तर नहीं दे सका। आपका जवाब ** सही ** है, बहुत बहुत धन्यवाद। – Andres

संबंधित मुद्दे