ruby-on-rails - 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
在 Google Chrome 中打开时,它会正确显示。但是使用 acrobat 或其他浏览器(如使用默认系统预览应用程序的 Firefox)它会给我错误。
想法?
解决方案
在最近发布的 ttfunk 1.6.0 gem 中嵌入字体存在一个已知问题。
你最近更新了那个宝石吗?如果是这样,请尝试在您的 Gemfile 中将其降级为 1.5.0,看看是否有帮助。
推荐阅读
- python - 带重启的定时器
- c - 分配给 a 和 b 的值是什么?
- java - Kotlin dsl gradle,如何使用自定义任务调用和执行 .kt 内的函数
- swift - 致命错误:无法形成具有上界 < 下界的范围
- javascript - 为什么我的文本在按 window.innerWidth 的倍数水平滚动时没有对齐?
- php - 我不明白破坏功能在这里是如何工作的?
- javascript - 在forEach循环javascript中的任何一个元素上只添加一次事件监听器
- python - 使用 BeautifulSoup 进行网页抓取,在 td 内的跨度内查找文本,忽略子跨度
- python-3.x - xml-rpc 返回协议错误 409 冲突
- python - Pygame鼠标event.rel在窗口外不起作用