Ruby将图像插入Rtf

时间:2012-04-19 07:37:11

标签: ruby-on-rails ruby rtf

我有一个rtf文件。
我想用Ruby打开该文件,用图像替换一些占位符 我环顾四周 ruby​​-rtf 。但它不适合解析 rtf ,仅适用于创建全新的 rtf

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案!

首先,您必须在rtf文件中添加占位符。为此,您必须使用MS Word打开rtf文件并将其放在特定位置。例如,您的占位符可能会被命名为 @@ placeholder @@

其次,打开保存在带记事本的第1步rtf文件中,以便清理占位符。 Ms word有时可能会在占位符中添加“垃圾”标签( @@ pla rtlch \ fcs1 \ af39 \ afs20 \ ltrch \ fcs0 \ b \ f39 \ fs20 \ insrsid14101935 \ charrsi ceholder @@ )。你应该纠正它,以便 @@ placeholder @@

第三,使用ruby-rtf。 最后,插入图像的代码:

# using Document class of ruby-rtf plugin
document = Document.new(nil) 
image = document.image("path_to_image/check.png")

rtf_file = IO.read("path_to_rtf/my.rtf")
rtf_file.gsub!('@@placeholder@@', image.to_rtf)
File.open("#{Rails.root}/my_userdata/new_blank.rtf", "wb") {|f| f.write rtf_file }

我希望这会对某人有所帮助。