2

django でレポート ラボを使用して生成された pdf について 3 つの質問がありますが、適切な答えが見つからないようです。django サイトのドキュメントは、ダウンロード用の pdf を生成する方法のみをカバーしています。しかし、生成された pdf を電子メールに添付して、ダウンロードする代わりに送信するにはどうすればよいですか? PDF をダウンロードする代わりに、サーバー上のディレクトリに保存するにはどうすればよいですか? PDF をダウンロードする代わりにブラウザ ウィンドウに表示するにはどうすればよいですか? django ドキュメントの例を使用してください。

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

def some_view(request):
    # Create the HttpResponse object with the appropriate PDF headers.
    response = HttpResponse(content_type='application/pdf')
    response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'

    # Create the PDF object, using the response object as its "file."
    p = canvas.Canvas(response)

    # Draw things on the PDF. Here's where the PDF generation happens.
    # See the ReportLab documentation for the full list of functionality.
    p.drawString(100, 100, "Hello world.")

    # Close the PDF object cleanly, and we're done.
    p.showPage()
    p.save()
    return response
4

2 に答える 2

3

PDF をダウンロードする代わりにブラウザーに表示するには、添付ファイルから単語を削除するだけです。

response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'

あなたはこのようなものを持っているでしょう

response['Content-Disposition'] = 'filename="somefilename.pdf"'
于 2014-04-15T21:47:24.107 に答える
1

ファイルのようなオブジェクトの代わりに、通常のファイル名を Canvas() に渡すことができます。通常、次のパラメーターとしてページサイズを渡す必要があります。デフォルトは A4 です。

詳細については、ReportLab からユーザー ガイドとリファレンス ガイドをダウンロードしてください。

http://www.reportlab.com/docs/reportlab-userguide.pdf

10ページをご覧ください。

于 2013-10-27T03:34:43.370 に答える