我正在使用xhtml2pdf
(former pisa
,或者反之亦然?:)) 从 django 模板生成 PDF。模板渲染正常,但我从该模板获得的 PDF 以一种非常奇怪的方式损坏:表格单元格中的文本被提升到单元格的顶部,因此大写字母触及单元格的上边框:
在浏览器中它看起来像这样:
我试过了:
- Applying
vertical-align
- 看起来它只是被忽略了,至少我没有注意到 pdf 的任何变化,即使它们在生成的 html 中 - 应用
padding-top
- 它会向下移动文本,但也会增加单元格高度。 - 将文本包装成
span
withmargin-top
- 效果相同padding-top
我认为原因是文本由 xhtml2pdf 在行的最顶部呈现,而浏览器倾向于在块中间的某个地方呈现它。换句话说,文本块在 pdf 和 html 中占据相同的位置,但是块内的文本被移动了。但这只是我的猜测。
那么,有没有人遇到过同样的问题?难道我做错了什么?任何可能的解决方法?
代码片段:
- 呈现的 html: http: //pastebin.com/4jMCLrA4
- CSS: http: //pastebin.com/vAn8HXkY
- 生成 PDF 的代码:http: //pastebin.com/6wBULrhx