首页 > 解决方案 > Django & reportlab:在同一页面的 div 上显示生成的 pdf

问题描述

我正在使用 reportlab 生成 pdf,我的视图如下所示:

def statut(request,id):
# Set up response
infoSte=sarl.objects.get(id=id)
associe=Associee.objects.all().filter(id_sarl=id)

associe_gerant=0
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'filename="form_letter.pdf"'
buff = BytesIO()
menu_pdf = SimpleDocTemplate(buff, rightMargin=60,
                            leftMargin=60, topMargin=65, bottomMargin=65)
story = []
#APPENDING PDF CONTENT ..
story.append(Paragraph(denomination_so,styleN))
menu_pdf.multiBuild(story, canvasmaker=FooterCanvas)
response.write(buff.getvalue())
buff.close()
return response 

此视图是使用下面的 url 的渲染器

url(r'^pdfstatut/(?P<id>\d+)$',views.statut, name='statutJuridique'),

执行此网址时,会在专用页面上生成 pdf。我需要的是当我点击statut页面左侧的链接时,pdf显示在右侧的部分:

在此处输入图像描述

当我的视图只返回一个只有 pdf 的响应时,我怎样才能达到这样的结果。

标签: djangotemplatesdjango-viewsreportlab

解决方案


您可以使用称为 PDF 对象的 JS,如下所述: Pdf 对象

或非 JS,如此处所述:静态


推荐阅读