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

2024-02-29

使用 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>

这是执行渲染的代码:

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

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

这是输出的 PDF:https://i.stack.imgur.com/I0cqO.jpg https://i.stack.imgur.com/I0cqO.jpg

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

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

关于这里做什么或可行的解决方法有什么建议吗?


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

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

body { text-rendering: optimize-speed; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML 到 PDF 的 Wicked PDF 和字母间距问题 的相关文章

随机推荐

  • C# 获取 cmd 输出,如真实 cmd 窗口中所示

    我有一个BackgroundWorker运行 cmd 进程并向其写入多个命令的线程 有些命令可能需要一段时间才能完成 因此我想向用户显示进度的 cmd 输出 我运行 cmd 命令的代码如下所示 private void background
  • 在C中的两点之间选取随机数

    我想知道 是否有可能在 c 中生成两个限制之间的随机数 IE 我的程序是这样设置的 function x generate random number while 1 function x delay 所以基本上我希望每次调用该函数时都会生
  • 何时在基准测试表达式中进行插值

    The 基准测试工具文档建议将全局变量插入基准测试表达式中 然而 他们提供的示例的运行时间差距似乎已经大大缩小 在他们的例子 https github com JuliaCI BenchmarkTools jl blob master do
  • 带有上下文管理器的 ThreadPoolExecutor

    我不明白为什么这段代码的行为方式不同 在第一种情况下 代码将打印 elo 19 秒后我们将看到 3 在其他情况下 我们将首先等待 19 秒 然后我们将看到 elo 你能给我解释一下吗 from concurrent futures impo
  • 斐波那契计算时间

    递归式斐波那契与循环式斐波那契之间是否存在明显的计算时间差异 我使用递归将斐波那契数列运行到 40 个位置 然后直接使用循环 看起来计算时间的差异只是academic 用C语言编写 递归解决方案 int main int argc cons
  • 如何在启动过程后切换Linux内核控制台?

    在我的嵌入式系统上 我通常使用 dev ttyS0 作 为主控制台 这是通过传递内核参数来实现的console dev ttyS0什么时候init尽其所能 getty在指定的同一设备上触发inittab by eg ttyS0 respaw
  • 将毫秒时间戳反序列化为 java.time.Instant

    我正在尝试使用 Jackson 读取 JSON 文件并将以纪元毫秒形式存储的字段之一存储为 JavaInstant 但是反序列化的行为并不如预期 这是我在尝试读取时间戳时看到的内容 1503115200000 杰克逊正在设定Instant字
  • 简单警报和徽章上的 IOS 10.2 UserNotifications 问题

    在写这篇文章之前 我对 UserNotification 框架进行了大量研究 该框架在 IOS 10 中取代了 UILocalNotification 我还按照本教程学习了有关此新功能的所有内容 http useyourloaf com b
  • 使用knitr使R块与文本对齐

    如何让 R 代码 R 块 与我的文本内联 Example 请使用 install packages ISwR 安装软件包 下列的来自一辉的建议 https groups google com forum fromgroups topic k
  • 如何让子字符串在 matlab 中工作?

    如果这是一个新问题 我很抱歉 但我已阅读文档here http www mathworks com help symbolic mupad ref substring html它没有说明在使用子字符串之前必须输入任何命令 但是 当我尝试按如
  • Xamarin.Forms - XamlCompilation MissingMethodException

    我想提高 Xamarin Forms UWP 应用程序的性能 因为它在发布模式下非常慢 选中 NET Native 因此 我在 PCL 项目中的程序集级别应用了 XAMLC assembly XamlCompilation XamlComp
  • 如何避免“框架分离”错误异步验证或使用 Puppeteer 进行重定向?

    以前的一个answer https stackoverflow com questions 51066987 puppeteer how can i wait for ajax request and process the result为
  • FireStore - 如何绕过数组“不包含”查询

    经过一些研究 很明显我无法使用 FireStore 来查询给定数组不包含的项目 有人有针对这个用例的解决方法吗 用户注册后 应用程序会获取一堆卡片 每张卡片在 FireStore 中都有相应的 卡片 文档 用户与卡片交互后 卡片文档将用户的
  • (PHP) 如何解析Google搜索结果中的URL?

    如何获取google搜索结果的url 我使用 Zend Gdata Gbase 来获取搜索谷歌结果 而不是 DomDocument htmlsimpleparser 因为在我看来 Zend Gdata Gbase 专门用于解析谷歌结果 如果
  • GTK+ 中的 CSS 样式

    好的 我最近开始使用 GTK 用 C 语言进行编程 我的代码中有一个 GdkToggleButton 我想用 css 添加样式 我在这里阅读了几乎所有 GTK3 文档https developer gnome org gtk3 stable
  • 如何从结果中排除零长度正则表达式匹配? [复制]

    这个问题在这里已经有答案了 我进行了快速谷歌搜索 但找不到任何结果 和 包括零长度匹配 我怎样才能将它们从我的结果中排除 例如运行一个 ada 在 1 和 3 处返回零长度匹配 如何排除它们 这是一个非常普遍的问题 我宁愿根据具体情况来解决
  • 用于处理接收中的异步操作的 Akka 模式

    我有一个 Actor 它接收指标数据点并定期聚合并将它们保存到磁盘 后一个操作执行 I O 因此我不想使用阻塞操作 但是 如果我将其切换为异步 如何防止在聚合完成之前接收其他数据点而不阻塞某处 我见过的一种模式是使用Stash 像这样 cl
  • HTML5 Canvas 访问控制允许来源错误

    当我尝试从 canvas 元素获取数据时 出现以下 javascript 错误 错误 不支持 canvas toDataURL 例外 操作不安全 代码 18 ns结果 0x80530012 安全错误 画布是从不同域提供的图像绘制的 但我使用
  • 执行 powershell 时 Kudu REST API 命令端点错误

    当尝试根据 api command 执行 POST 时这个描述 https github com projectkudu kudu wiki REST API command出现以下错误 PS C gt Result Error remov
  • HTML 到 PDF 的 Wicked PDF 和字母间距问题

    使用 0 79 和 0 7 2 生成的 PDF 看起来与我原来的 HTML 略有不同 添加 show as html 标志会按预期显示它 但是内联样式在 PDF 中的处理方式与在 HTML 预览中的处理方式不同 具体来说 我遇到的问题是字母