从电子邮件生成PDF(Zurb Ink模板化);但我总是会看到单页PDF。
Runnable测试用例:
from weasyprint import HTML, CSS
from urllib2 import urlopen
if __name__ == '__main__':
html = urlopen('http://zurb.com/ink/downloads/templates/basic.html').read()
html = html.replace('<p class=\"lead\">', '{0}<p class=\"lead\">'.format(
'<p class=\"lead\">{0}</p>'.format("foobar " * 50) * 50))
HTML(string=html).write_pdf('foo.pdf', stylesheets=[
CSS(string='@page { size: A4; margin: 2cm };'
'* { float: none !important; };'
'@media print { nav { display: none; } }')
])
如何获得多页PDF?
答案 0 :(得分:14)
<body>
<!-- this is the container div -->
<div>
Content
</div>
</body>
如果您的html具有上述结构,那么weasyprint将尝试在一个页面中容纳您的所有“容器”内容。
我现在想到的第一个解决方案:将你的html分成两个独立的div-s。每个div不应超过页面大小。
更新的 每当您希望在文档中包含分页符时,请尝试添加此选项。
<p style="page-break-before: always" ></p>