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