Rails 虾文档的嵌入字体错误

Embedded Font Error for Rails Prawn Document

就在上周,它运行良好,现在我的 PDF 文档出现 "Cannot extract the embedded font '1491bd-SourceHanSans-Normal'. Some Characters may not display correctly." 错误。

为此找了几个小时,我查看了最近的提交,但找不到任何会导致此问题突然出现的重大更改。

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

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

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

想法?

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

你最近更新过gem吗?如果是这样,请尝试在您的 Gemfile 中将其降级为 1.5.0,看看是否有帮助。