Wkhtmltopdf单行中的字符在页面之间部分切割

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;.一旦我将它们更改为阻止并重置边距底部,线分割就会消失.因人而异.


Pet*_*own 9

根据我发现的一些文档(请参阅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=33HTTP:/ /code.google.com/p/wkhtmltopdf/issues/detail?id=57.


Bes*_*esi 8

我确实有一个表的问题:

在此输入图像描述

然后我把它添加到我的CSS:

table, img, blockquote {page-break-inside: avoid;}
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题:

在此输入图像描述


Ped*_*rte 5

就我而言,问题是通过注释掉以下 css 解决的:

html, body {
  overflow-x: hidden;
} 
Run Code Online (Sandbox Code Playgroud)

通常,检查是否有任何标签overflow设置为hidden并删除它或将其设置为visible

顺便说一句,我wkhtmltopdf version 0.12.2.1在 Windows 8 上使用。