我有一个rtf文件。
我想用Ruby打开该文件,用图像替换一些占位符
我环顾四周 ruby-rtf 。但它不适合解析 rtf ,仅适用于创建全新的 rtf 。
有人可以帮助我吗?
答案 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 }
我希望这会对某人有所帮助。