【问题标题】:letter spacing issue when converting html to pdf using wkhtmltopdf through pdfkit使用 wkhtmltopdf 通过 pdfkit 将 html 转换为 pdf 时的字母间距问题
【发布时间】:2012-05-31 07:30:33
【问题描述】:

我的 HTML 文件有一些段落我使用 8pt 字体大小。将 HTML 转换为 PDF 后,段落会增加额外的字母间距,并且某些字母会重叠。

我尝试了以下所有建议(例如使用 dpi 和 xserver),但没有一个有效。

http://code.google.com/p/wkhtmltopdf/issues/detail?id=72&q=letter

【问题讨论】:

    标签: ruby-on-rails wkhtmltopdf pdfkit


    【解决方案1】:

    我意识到这个问题有点老了。但是,由于这个 wkhtmltopdf 字母间距问题让我感到很沮丧,我想放弃一个潜在的解决方法:

    '--dpi 96'
    

    将此选项添加到二进制参数中,您可能会像我最终那样微笑! 即:

    wkhtmltopdf --option1 --option2 --dpi 96 "www.host.com/page.html" file.pdf
    

    【讨论】:

    • 正如 OP 所说:“将 HTML 转换为 PDF 后,段落会获得额外的字母间距,并且某些字母会重叠。”这也是我对应用 CSS letter-spacing 的任何文本的经验,直到我添加了上面的 dpi 选项。只是一种解决方法!老实说,我并没有完全理解这个错误——我猜是一个错误。
    • 不错的解决方法 - 但是仍然有额外的空间。找到 perene 解决方案了吗?
    • “Perene”?猜猜你的意思是永久的,就像“多年生”一样!好吧,很遗憾没有。事实上,我最近没有过多关注这个问题。
    • 这对我有用。起初我没有意识到,因为我一直有一个单独的问题,我没有看到某些样式出现。我运行了以下测试:在没有指定 dpi 的情况下转换没有应用字母间距样式的 html 元素,并看到 pdf 中的字母间距较小。如果没有指定 dpi,则转换具有字母间距的元素:1px;并看到 pdf 中的字母间距超过 1 像素(看起来更像 5 像素)。指定 dpi 时,转换一个字母间距为 1px 的元素,并注意间距比没有指定字母间距的要大。
    • 这对我也有用,在版本 0.12.3 上,负字母间距为 -0.3mm。
    【解决方案2】:

    如果您想获得您的 PDF 视图,就像它在您的网页中一样,请将以下代码复制到您的 config/initializer/pdfkit.rb(在初始化程序文件夹中创建此文件)

    PDFKit.configure do |config| 
    config.wkhtmltopdf ='/usr/local/bin/wkhtmltopdf'
    config.default_options = {
       :encoding=>"UTF-8",
       :page_size=>"Ledger",
       :zoom => '1.3',
       :disable_smart_shrinking=>false
    }
    end
    

    请查看此链接了解更多“:page_size”属性

    wkhtmltopdf: What paper sizes are valid?

    并通过访问此链接发现新选项

    http://madalgo.au.dk/~jakobt/wkhtmltoxdoc/wkhtmltopdf-0.9.9-doc.html

    希望这一切都会对您有所帮助。谢谢

    【讨论】:

    • 不应该是zoom 1.33吗?
    【解决方案3】:

    更新 wkhtmltopdf。

    我发现解决这些字母间距问题的最佳方法是确保您使用的是最新版本的 wkhtmltopdf(撰写本文时为 0.12.2.1)。

    在 Rails 中,您可以简单地使用边缘二进制 gem,如下所示:

    gem 'wkhtmltopdf-binary-edge'
    

    先快速尝试一下,看看您的问题是否已解决。我的是。

    【讨论】:

      【解决方案4】:

      在 2021 年,我使用 200 dpi 解决了这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-20
        相关资源
        最近更新 更多