我正在尝试构建一个将自身呈现为 PDF 的 View 。 每次我访问 View 时,我都会遇到一些关于呈现文档/表格结构的随机问题。 跟踪错误,我归结为呈现完全静态的 html 代码,并发现 - 每个请求,生成的文档大小都不同。
template = get_template(self.get_report_template_name())
html = template.render(Context({}))
strobj = StringIO.StringIO()
pisa.CreatePDF(html.encode("UTF-8"), strobj, encoding='UTF-8')
return HttpResponse('len: %d' % strobj.len);
如您所见,每次呈现相同的模板时,上下文都是空的,以确保没有任何变化。 无论如何,该模板根本不使用 django 模板语言
每次刷新页面时,上面的代码都会返回一些不同的结果
长度:2573,长度:2595 长度:2234, 长度:2601, 长度:2244, 长度:2632,
等...(一些值重复多次)。
当保存并显示这些文档时 - 它们包含“损坏的”页面结构,例如显示不正确的表格单元格或其他内容。其中只有一个看起来是正确的。
有什么建议可以在哪里找到问题?
最佳答案
我遇到过同样的问题。试图修复它几个小时... 我找到的唯一解决方案是将 xhtml2pdf 降级到版本 0.0.4。
关于python - xhtml2pdf 和 django,不同的文档大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15822730/