我正在尝试在 Django 项目中使用 pdfkit 库使用 python 创建 pdf,并且我想将每个内容分隔在不同的页面中,我该怎么做
import pdfkit
from django.template.loader import render_to_string
my_contents = [
{'title':'Example 1', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']},
{'title':'Example 2', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']},
{'title':'Example 3', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']},
{'title':'Example 4', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']},
{'title':'Example 5', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']}
]
final_html = ''
for content in my_contents:
data = {
'title': content['title'],
'contents': content['contents'],
}
final_html += render_to_string(
'pdfs/routines_handout.html', data)
my_pdf = pdfkit.from_string(final_html, 'out.pdf')
找到了!!如果我在页面的每一端添加 style='page-break-after' ,下一个将在另一页中
<div style='page-break-after: always;'></div>
我的最终固定代码是:
import pdfkit
from django.template.loader import render_to_string
my_contents = [
{'title':'Example 1', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']},
{'title':'Example 2', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']},
{'title':'Example 3', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']},
{'title':'Example 4', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']},
{'title':'Example 5', 'contents': ['Lorem ipsum dorer', 'Lorem ipsum']}
]
cont = 0
final_html = ''
total_length = len(my_contents)
for content in my_contents:
cont += 1
data = {
'title': content['title'],
'contents': content['contents'],
}
final_html += render_to_string(
'pdfs/routines_handout.html', data)
if not cont == total_length:
final_html += "<div style='page-break-after: always;'></div>"
my_pdf = pdfkit.from_string(final_html, 'out.pdf')