我正在使用Prawn在Rails 3应用程序中生成PDF。
是否可以像在HTML视图中一样将Unicode字符串打印到PDF中?
例如,
<%= raw "unicode_for_ཀ" %>
show.html.erb
中的会产生字形ཀ而
pdf.text raw "unicode_for_ཀ"
show.pdf.prawn
中的会产生字符串"unicode_for_ཀ"
尝试show.pdf.prawn
:
pdf.font "#{Prawn::BASEDIR}/data/fonts/TibMachUni-1.901b.ttf" do
pdf.text raw "unicode_for_ཀ"
end
和
pdf.font_families.update("TibMachUni" => {:normal => "#{Prawn::BASEDIR}/data/fonts/TibMachUni-1.901b.ttf" })
pdf.font("TibMachUni") do
pdf.text raw "unicode_for_ཀ"
end
这并没有解决问题。
答案 0 :(得分:6)
你应该使用
pdf.text raw "unicode_for_\u0F40"
而不是
pdf.text raw "unicode_for_ཀ"
用于转义unicode字符的Ruby方法是\uXXXX
。
ཀ
转义符是HTML / XML转义码,仅在第一个视图生成HTML文件时起作用。