
[英]UnicodeDecodeError: Django Generate PDF with weasyprint
[英]Django and weasyprint, merge pdf
可以使用 weasyprint 在 django 中合并多个 pdf 吗?
我有这样的事情:
def verpdf(request, pk):
odet = get_object_or_404(Note, pk = pk)
template = get_template('pdfnot.html')
template1 = get_template('pdfnot2.html')
p1 = template.render({'odet': odet}).encode(encoding="ISO-8859-1")
p2 = template1.render({'note':odet}).encode(encoding="ISO-8859-1")
pdf1 = HTML(string=p1).render()
pdf2 = HTML(string=p2).render()
all_pages = [po for po in pdf1.pages for doc in pdf2.pages]
pdf_file = pdf1.copy(all_pages).write_pdf()
http_response = HttpResponse(pdf_file, content_type='application/pdf')
http_response['Content-Disposition'] = 'filename="report.pdf"'
return http_response
但是我无法加入这两个文件,总是只输出第一个模板,是否可以将两个文档合并为一个 pdf? 你能帮我吗? 谢谢。
花了我一段时间,但我解决了它,是我不理解文档的错,哈哈,如果有人遇到同样的问题,这里是代码:
def verpdf(request, pk):
odet = get_object_or_404(Note, pk = pk)
template = get_template('pdfnot.html')
template1 = get_template('pdfnot2.html')
p1 = template.render({'odet': odet}).encode(encoding="ISO-8859-1")
p2 = template1.render({'note':odet}).encode(encoding="ISO-8859-1")
pdf1 = HTML(string=p1)
pdf2 = HTML(string=p2)
pdf11 = pdf1.render()
pdf12 = pdf2.render()
val = []
for doc in pdf11, pdf12:
for p in doc.pages:
val.append(p)
pdf_file = pdf11.copy(val).write_pdf() # use metadata of pdf11
http_response = HttpResponse(pdf_file, content_type='application/pdf')
http_response['Content-Disposition'] = 'filename="report.pdf"'
return http_response
有了这个带有两页的pdf输出。
<p style="page-break-before: always"></p>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.