我将用阿拉伯语创建一个pdf报告,但是字母是分开的,并且按相反的顺序,我使用以下代码生成一个pdf文件
class InstitutesPdf < Prawn::Document
def initialize(institute)
super()
font(Rails.root.join("app/assets/fonts/arial.ttf"))
@institute = institute
text "Institute ID : #{@institute.id}"
move_down(30)
text "Institute name : #{@institute.name.mb_chars.to_s}"
end
end
当我把最后一行改成
text "Institute name : #{@institute.name.mb_chars.reverse.to_s}"
字母这两个字排列得很整齐,但还是分开的
我使用rails 4和prawn版本'1.1.0'
最佳答案
我开发了一个gem来解决这个问题,特别是用于由Sinan重构到这个项目中的prawn:
https://github.com/staii/arabic-letter-connector
所以在控制台中:
gem install arabic-letter-connector
然后在代码中:
require 'prawn'
require 'arabic-letter-connector'
Prawn::Document.generate("arabic.pdf") do
text_direction :rtl
font("/path/to/arabic/font.ttf") do # For example: http://www.amirifont.org/
text "مرحبا يا العالم".connect_arabic_letters
end
end
由于混合了文本,可能不想使用:rtl,解决方法是在打印到pdf之前自己反转字符串。
关于ruby-on-rails - Prawn gem 是否支持阿拉伯语?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24651908/