30

Django を使用してサイトで作業しており、Repotlab を使用して .pdf ファイルを印刷しています。

ファイルに複数のページを含めたいのですが、どうすればよいですか?

私のコード:

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

前もって感謝します。

4

1 に答える 1

60

showPage()は紛らわしい名前ですが、実際には現在のページを終了するため、呼び出した後にキャンバスに描画したものはすべて次のページに移動します。

あなたの例では、p.showPage()p.drawString例の後に使用するだけで、それらはすべて独自のページに表示されます。

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
于 2013-09-06T19:05:34.433 に答える