我成功使用xhtml2pdf
生成了PDF
文件供下载。
我现在想实现的功能是能够生成多个(单独的)PDF
文件以供下载。我猜想实现这一目标的最佳方法是压缩PDF
,但是我对如何实现这一目标感到困惑。有人能指出我正确的方向吗?
我渲染到PDF
的函数是:
def render_to_pdf(template_src, context_dict={}):
template = get_template(template_src)
html = template.render(context_dict)
result = BytesIO()
pdf = pisa.pisaDocument(BytesIO(html.encode("ISO-8859-1")),result, link_callback=link_callback)
if not pdf.err:
return HttpResponse(result.getvalue(), content_type='application/pdf')
return None
我对生成单个PDF
文件的看法是:
class GeneratePDF(View):
def get(self, request, *args, **kwargs):
date = datetime.datetime.now()
context = { 'date':date }
pdf = render_to_pdf('pdf/my_first_file.html', context)
if pdf:
response = HttpResponse(pdf, content_type='application/pdf')
filename = "First_File.pdf"
content = "attachment; filename='%s'" %(filename)
response['Content-Disposition'] = content
return response
return HttpResponse("Not found")
作为PDF
下载的一部分,我要呈现为zip
的其他文件都在pdf/
文件夹中。其中最多12个。每个上下文均不同:
pdf/my_second_file.html
pdf/my_third_file.html
...
任何可以提供的指导将不胜感激!