请参阅,我一直在寻找一个更好的选择,使用gem Prawn
在我的网络应用程序中以阿拉伯语和繁体中文语言生成动态内容。我用英语和德语尝试了它,并且工作正常。但是,不支持阿拉伯语和中文..
经过大量搜索,我发现我们可以使用特定的字体来生成相同的字体。我们需要下载自定义字体并放入Prawn基目录,在创建pdf对象后,我们需要通过以下行添加这个自定义字体:
pdf.font "#{Prawn::BASEDIR}/data/fonts/custom_font.ttf" (Gem directory)
但是,对于我尝试过的字体类型,我不确定它是否与我使用Google翻译器在我的应用中提供的翻译完全相同。对于中国人来说,这是一个大问题。
那么,你们中的任何人都可以建议我如何为阿拉伯语和中文(可自由下载)获得更好的字体,它还应该支持跨浏览器。
谢谢。
答案 0 :(得分:0)
您可以使用自定义字体服务于您的目的:
对于Arabic
:您可以使用trado.ttf
对于Chinese
:您可以使用gkai00mp.ttf
在'/app/assets/'
路径中创建文件夹字体,并在asset_path
中添加以下行,将其添加到application.rb
,
config.assets.paths << Rails.root.join("app", "assets", "fonts")
如需在PDF报告中生成阿拉伯文/中文内容,请按以下步骤操作。
pdftable = Prawn::Document.new
if I18n.locale == :ar
#pdftable.font "#{Prawn::BASEDIR}/data/fonts/trado.ttf"
pdftable.font Rails.root.join('app', 'assets', 'fonts', 'trado.ttf')
pdftable.text_direction = :rtl
elsif I18n.locale == :zh
#pdftable.font "#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf"
pdftable.font Rails.root.join('app', 'assets', 'fonts', 'gkai00mp.ttf')
end
希望您能用阿拉伯语/中文生成报告。
答案 1 :(得分:0)
要正确打印阿拉伯语,您需要使用以下gem将阿拉伯字母转换为连接的可读形式: