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 和字母间距问题 的相关文章

  • NReco PDFGenerator 问题

    我已经使用这个工具大约一周了 现在 今天 它停止工作了 我已将其余代码恢复到之前的状态 但仍然出现相同的错误 我从抛出的异常中得到的所有信息是 NReco PdfGenerator dll 中发生 System Exception 类型的异
  • 在 ASP.NET Core 中使用 wkhtmltopdf、docker 将 HTML 转换为 PDF

    我正在尝试在 ASP NET Core 应用程序中使用 wkhtmltopdf 将 HTML 转换为 PDF 我已将 wkhtmltopdf exe 添加到我的项目中 并标记为 始终复制到输出 这是我的代码 var htmlContent
  • 创建多页 PDF

    我需要实现创建包含多页文本的 pdf 的功能 class PDFCreator func prepareData gt Data 1 let pdfMetaData kCGPDFContextCreator PDF Creator kCGP
  • wkhtmltopdf 每次运行都会生成不同的校验和

    我试图验证从运行到运行时从 wkhtmltopdf 生成的内容是否相同 但是每次运行 wkhtmltopdf 时 我都会针对同一页面获得不同的哈希 校验和值 我们正在谈论一些真正基本的东西 比如使用以下 html 页面 p This is
  • Wicked_pdf 在开发中工作正常,但在生产中却不行

    我一直在使用 wicked pdf 在 Rails 中生成一些 PDF 它在我的开发环境中运行良好 但是当我尝试在生产环境中生成 PDF 时 我收到 500 错误 但我的日志中没有具体错误 我注意到的第一件事是 wkhtmltopdf 二进
  • 在 PDF 中搜索会过多增加应用程序的内存使用量

    我注意到 当我在大型 PDF 中搜索时 应用程序的内存使用量会增加 因为 PDFKit 正在执行一些内部搜索缓存 有什么办法可以控制这个缓存大小吗 就我而言 搜索完成后缓存内存会增加超过 500 MB 为了在 PDF 文档中进行搜索 我使用
  • 在mvc 4中使用wkhtmltopdf将Html中的图像转换为PDF

    我正在使用 wkhtmltopdf 将 html 转换为 pdf 我正在使用 mvc 4 我能够将 html 转换为 pdf 我遇到的唯一问题是图像无法渲染 应该出现图像的地方有一个小矩形 我的图像在数据库中 因此当我在控制器中获取 htm
  • wkhtmltopdf css 尺寸(厘米/毫米)

    我使用 wkhtmltopdf 生成 A4 大小的 PDF 当我创建一个 div 标签并将其样式设置为height 297mm width 210mm 这是A4的定义尺寸 将wkhtmltopdf的边距设置设置为0 wkhtmltopdf
  • PDFKit - 使用 pageViewController 的 PDFView - 滑动到下一页时页面渲染缓慢

    我有一个设置为使用 pageViewController 的 PDFView let pdfView PDFView let pdfDoc PDFDocument url Bundle main url forResource test w
  • 如何使用 wkhtmltopdf 在页眉/页脚 html 中进行页码编号?

    我正在开发一个电子发票系统 我们的功能之一是生成发票的 PDF 并邮寄它们 我们有多个发票模板 稍后还会创建更多模板 因此我们决定使用 HTML 模板 生成 HTML 文档 然后将其转换为 PDF 但我们面临着 wkhtmltopdf 的一
  • Ghostscript 不会将 PDF 转换为 PDF/A。注释问题

    我正在尝试将 PDF 转换为 PDF A 每次通过时我都会收到错误 GPL Ghostscript 9 19 Annotation set to non printing not permitted in PDF A reverting t
  • Pandoc 和 html5 导出 pdf 的利润丰厚

    所以我第一次尝试Pandoc 一切看起来都很棒 但是当通过 html5 wkhtmltopdf 导出时 我的 pdf 输出保存时各面都有巨大的边距 pandoc t html5 s example md o output pdf 输出 pd
  • wkhtmltopdf 段错误

    我正在尝试将 wkhtmltopdf 放到 virtualbox ed ubuntu 12 04 64 位服务器上 到目前为止还没有运气 存储库中的包想要运行 xserver 和静态版本 wkhtmltopdf google com tes
  • 如何避免跨页面拆分 HTML 表格

    请原谅我的英语 我正在打印一份 pdf 格式的大型报告 其中包括一些表格 一个又一个的表格 为此 我首先生成 html 格式的报告 然后使用dompdf http pxd me dompdf www 这是我打印一张又一张表格的方式 div
  • 在 64 位 Windows 上运行 32 位可执行文件时出现问题

    如果允许的话 我会添加 500 个我自己的代表作为赏金 我在用着wkhtml转pdf http wkhtmltopdf org 将 HTML 网页转换为 PDF 这在我的 32 位开发服务器上完美运行 不幸的是 我无法运送我的机器 p 但是
  • Laravel 5.1 Snappy pdf 图像未在 pdf 文件中呈现

    我在用barryvdh laravel snappy生成pdf文件 我有两个图像文件 1 yourlogohere png 位于 public image 文件夹中 2 logo2 png 位于 public app logo 以外的文件夹
  • 无法创建 PDF:sh:wkhtmltopdf:找不到命令

    只是 wkhtmltopdf 遇到一些问题 它在命令行中工作正常 但在 PHP 中我不断收到此错误 Could not create PDF sh wkhtmltopdf command not found 在 Apache 停止并重新启动
  • 将自定义字体与 wkhtmltopdf 一起使用

    我正在尝试在使用 wkhtmltopdf 生成的 PDF 中使用自定义字体 我读到您不能使用 google webfonts 并且 wkhtmltopdf 使用 truetype ttf 文件 谁能证实这一点吗 所以我从 google we
  • Node js,通过管道将 pdfkit 传输到内存流

    我在用pdfkit https github com devongovett pdfkit在我的节点服务器上 通常创建 pdf 文件 然后将它们上传到 s3 问题是 pdfkit 示例将 pdf 文档通过管道传输到节点写入流 该节点写入流将
  • Rails 4 pdfkit 无法将 Chartkick 图表转换为 pdf

    我正在使用 Rails 4 我按照指示https github com pdfkit pdfkit https github com pdfkit pdfkit 在控制器中我有 respond to do format format htm

随机推荐

  • 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 预览中的处理方式不同 具体来说 我遇到的问题是字母