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

标签 wkhtmltopdf pdfkit wicked-pdf

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

具体来说,我遇到的问题是字母间距声明,它也有一个浮点数没有正确呈现。因此,例如在具有字母间距的右侧 float 元素上,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>



这是进行渲染的代码:
render :pdf => 'file_name', :template => 'template.html.erb', :layout => 'pdf.html'
这是呈现的 HTML:http://jsfiddle.net/wX4DQ/

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

我注意到 wkhtmltopdf 上有一些错误报告关于这似乎是相关的。这可能是这个问题的罪魁祸首,什么是可以接受的解决方法?

我尝试过不同的字体,但我真的必须使用 Helvetica。

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

最佳答案

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

此外,这一点 css 可以提供帮助,尤其是在复制/粘贴某些字符之间有随机额外空格时:

body { text-rendering: optimize-speed; }

关于wkhtmltopdf - 带有 Wicked PDF 和字母间距问题的 HTML 到 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12009670/

相关文章:

ruby-on-rails - wicked_pdf 图像渲染

ruby-on-rails - wkhtmltopdf 自动分页符

ruby-on-rails - wicked_pdf/wkhtmltopdf 忽略 Twitter Bootstrap css

pdf-generation - c3.js 图表和 wkhtmltopdf

javascript - wkhtmltopdf 不接受网址中的值?

python - pdfkit错误: Exit with code 1 due to network error: ProtocolUnknownError

ios - PDFDocument 未从 URL 加载文件

html - 在不返回服务器的情况下呈现 PDF (wicked_pdf)

node.js - 通过 Angular 前端下载在 Nodejs 中使用 pdfkit 库创建的 Pdf

javascript - Rails 3 wicked_pdf 和分页