我使用WeasyPrint在Django中生成PDF。我可以从静态html文件生成pdf,如下所示-
from django.template import Context, Template
import weasyprint
with open('static_file.html', 'r') as myfile:
html_str = myfile.read()
template = Template(html_message)
context = Context({'some_key': 'some_value'})
rendered_str = template.render(context)
weasyprint.HTML(string=rendered_str).write_pdf('generated.pdf')
但是我想生成一个PDF,在其中,我可以在每个页面中包含一个公共页眉/页脚,并添加分页。
此外,如果有人能告诉如何包括一个自定义字体来生成PDF,这将是非常有帮助的。我已经在操作系统(Ubuntu 14.04)中安装了这个字体,但它不起作用。
我在网上搜了很多关于这些的东西。但找不到合适的解决办法。
当前正在运行元素are not supported by WeasyPrint。尽管如此,我还是找到了使用named strings获得相同结果的方法:
现在您可以将内容添加到不可见的HTML头元素中。
由于Weasyprint支持CSS页面媒体模块级别3,因此可以使用CSS完成简单的页眉和页脚(如您所提到的分页):
请确保在呈现时包含样式表:
但是,要呈现更多复杂的页眉/页脚可能会更多。。复杂。有些人建议在标题中包含一个div元素,该元素只用于打印(但我必须承认,我只能使用此方法使简单元素正确呈现):
还有另一种使用固定位置的方法,如本文所示:https://gist.github.com/pikhovkin/5642563
相关问题 更多 >
编程相关推荐