Wkhtmltopdf单行中的字符在页面之间部分切割
我正在一个项目中使用ruby(3.1)。 我的要求是从HTML内容生成PDF。 所以我使用pdfkitgem。
在一些页面中,单行中的字符在页面之间部分切割。 当我转换成PDF转换为pdf格式的PDF格式
wkhtmltopdf的版本: wkhtmltopdf – 0.11.0 rc1
操作系统: Linux CentOS 5.5
在下面的图片中显示了在页面之间部分剪切的字符
请提出解决scheme。
例1
例2
我只是碰到这个,发现了一些解决了我的问题。 在我的具体情况下,有div的display: inline-block; margin-bottom: -20px;
display: inline-block; margin-bottom: -20px;
。 一旦我改变他们阻止和重置边界底部,线分裂消失。 因人而异。
根据我发现的一些文档 (参见分页),这是一个已知的问题,并build议使用CSS分页符来插入分页符(假设您使用的是QT的补丁版本):
WebKit目前的分页algorithm还有很多不足之处。 基本上webkit将把所有东西都放到一个长页面中,然后将其分割成多个页面。 这意味着如果你有两列文字,其中一列垂直移动了一半。 然后webkit将一行一行地显示在上一页。 而另一页上的下半部分。 它也将打破两个图像等等。 如果您使用的是QT的补丁版本,您可以使用CSS页面中断内部属性来解决这个问题。 这个问题没有简单的解决scheme,直到解决这个问题,试着组织你的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;}
这解决了这个问题:
切文本问题是一个已知的webkit问题,似乎开发人员在wkhtmltopdf内find了一个解决scheme。 更新到0.12.1将修复切割文本问题(如果您不想浪费时间进行编译,可以从这里获取二进制文件: https : //github.com/h4cc/wkhtmltopdf-amd64 )。
就我而言,这个问题通过注释掉以下css来解决:
html, body { overflow-x: hidden; }
一般来说,检查是否有任何标签overflow
设置为hidden
,并将其删除或将其设置为visible
。
顺便说一句,我在Windows 8上使用wkhtmltopdf version 0.12.2.1
。