带有Wicked PDF和字母间距问题的HTML到PDF

yek*_*kta 5 pdfkit wkhtmltopdf wicked-pdf

使用0.79和0.7.2生成的PDF看起来与我原来的HTML略有不同.添加show_as_html标志会按预期显示它,但是内联样式在PDF中的处理方式不同,然后它们在HTML预览中.

具体来说,我遇到的问题是字母间距声明,也没有正确呈现浮动.因此,例如在具有字母间距的右浮动元素上,PDF将使字符过多地与中心隔开,使得文本部分地离开屏幕而不是进一步向左突出以获得字母间距宽度的差异. .

以下是原始HTML代码段:

<table width="800" border="0">

  <tr>
    <td colspan="3"><span style="font-family:Helvetica, Arial, sans-serif;font-size:10pt;margin-top:18px;text-transform:uppercase;float: right;letter-spacing:2pt">Winter 2013</span></td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

这是执行渲染的代码:

render :pdf => 'file_name', :template => 'template.html.erb', :layout => 'pdf.html'

这是呈现的HTML:http://jsfiddle.net/wX4DQ/

这是输出的PDF:http://imgur.com/sdUPM

我注意到有一些关于wkhtmltopdf的 bug报告似乎与此有关.这可能是这个问题的罪魁祸首,什么是可接受的解决方案?

我尝试过不同的字体,但我真的不得不使用Helvetica.

关于这里做什么或合理的解决方案的任何建议?

Uni*_*key 4

有很多因素可能会导致文本呈现和字母间距问题。如果您使用的是二进制文件,请尝试获取针对 QT 编译的二进制文件。如果您自己编译 wkhtmltopdf,请确保您编译它的系统安装并注册了一组合适的字体,否则字体看起来不正确。

另外,这段 css 可以提供帮助,特别是在复制/粘贴某些字符之间具有随机额外空格的情况下:

body { text-rendering: optimize-speed; }
Run Code Online (Sandbox Code Playgroud)