ame*_*exn 40 html ruby ruby-on-rails pdfkit wkhtmltopdf
我正在使用ruby on rails(3.1)进行项目.我的要求是从html内容生成pdf.所以我使用pdfkit gem.
在某些页面中,单行中的字符在页面之间部分切割.当我使用pdfkit gem将html转换为pdf时
版本的wkhtmltopdf:wkhtmltopdf - 0.11.0 rc1
操作系统:Linux CentOS 5.5
在下图中显示页面之间部分切割的字符.
请提出解决方案.
例1

例2

nva*_*lik 11
我刚碰过这个,找到了解决这个问题的东西.在我的特殊情况下,有divs display: inline-block; margin-bottom: -20px;.一旦我将它们更改为阻止并重置边距底部,线分割就会消失.因人而异.
根据我发现的一些文档(请参阅Page Breaking),这是一个已知问题,建议使用CSS分页符来插入分页符(假设您使用的是QT的修补版本):
WebKit的当前分页算法还有很多不足之处.基本上webkit会将所有内容呈现为一个长页面,然后将其剪切成页面.这意味着如果您有两列文本,其中一列垂直移动半行.然后webkit会将一行分成几页,在一页上显示上半部分.另一页上下半部分.它也会打破两个图像,依此类推.如果您使用的是QT的修补版本,则可以使用CSS page-break-inside属性来解决这个问题.这个问题没有简单的解决方案,在解决这个问题之前,请尝试组织HTML文档,使其包含许多可以干净地剪切页面的行.
另请参见:http://code.google.com/p/wkhtmltopdf/issues/detail?id=9, http://code.google.com/p/wkhtmltopdf/issues/detail?id=33和 HTTP:/ /code.google.com/p/wkhtmltopdf/issues/detail?id=57.
我确实有一个表的问题:

然后我把它添加到我的CSS:
table, img, blockquote {page-break-inside: avoid;}
Run Code Online (Sandbox Code Playgroud)
这解决了这个问题:

就我而言,问题是通过注释掉以下 css 解决的:
html, body {
overflow-x: hidden;
}
Run Code Online (Sandbox Code Playgroud)
通常,检查是否有任何标签overflow设置为hidden并删除它或将其设置为visible。
顺便说一句,我wkhtmltopdf version 0.12.2.1在 Windows 8 上使用。
| 归档时间: |
|
| 查看次数: |
13651 次 |
| 最近记录: |