从ruby中的rtf文本解析纯文本

时间:2018-10-02 11:41:30

标签: ruby rtf

我有一个如下所示的rtf文本,

{\rtf1\ansi\deff0 {\fonttbl {\f0 Courier;}}
{\colortbl;\red0\green0\blue0;\red255\green0\blue0;}
This line is the default color\line
\cf2
\tab This line is red and has a tab before it\line
\cf1
\page This line is the default color and the first line on page 2
}

我想从rtf文本中解析纯文本。红宝石中有没有可用的插件或任何其他解决方案来解析rtf文本中的纯文本?

1 个答案:

答案 0 :(得分:2)

您可以使用此Ruby-rtf Gem

require 'ruby-rtf'

data = File.read('./rich.rtf')
parser = RubyRTF::Parser.new
parsed_text = parser.parse(data).sections.map do |val|
  val[:text]
end.join(' ')