gpt4 book ai didi

python - Django 和 weasyprint,合并 pdf

转载 作者:行者123 更新时间:2023-11-28 21:45:45 25 4
gpt4 key购买 nike

在 django 中可以使用 weasyprint 合并多个 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 输出有两页。

关于python - Django 和 weasyprint,合并 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38987854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com