Rails Prawn 文档的嵌入字体错误

mud*_*udl 5 ruby pdf ruby-on-rails prawn

就在上周,这工作正常,现在我的 PDF 文档给了我这个“无法提取嵌入字体 '1491bd-SourceHanSans-Normal'。某些字符可能无法正确显示。” 错误。

一直在寻找这几个小时,我查看了我最近的提交,找不到任何会导致这个问题突然出现的重大变化。

这是我用来进行错误测试的基本代码。

def invoice_pdf
    require "prawn"
    # document set up
    Prawn::Document.generate("PDF.pdf", :page_size => "A4", :margin => [25], disposition: "inline") do |pdf|
        # set utf-8 japanese font
        pdf.font_families.update("SourceHan" => {
            :normal => ".fonts/SourceHan/SourceHanSans-Normal.ttf",
        })
        pdf.font "SourceHan" 
        pdf.font_size 10
        pdf.text '??? ????'
        send_data pdf.render, type: 'application/pdf', disposition: :inline
    end
end
Run Code Online (Sandbox Code Playgroud)

它在 Google Chrome 中打开时正确显示。但是使用 acrobat 或其他浏览器(如使用默认系统预览应用程序的 Firefox),它给了我错误。

想法?

Jam*_*aly 6

最近发布的 ttfunk 1.6.0 gem 中存在嵌入字体的已知问题。

你最近更新了那个宝石吗?如果是这样,请尝试在您的 Gemfile 中将其降级到 1.5.0,看看是否有帮助。