通过ruby代码,将指定的WORD文档转换为HTML:
测试代码:
只有一句,就将WORD转换成为HTML,转换后的HTML与原WORD拥有同样的格式,包括图片(其实这部操作与在WORD中另存为HTML的效果一致)。
Ruby操作WORD主要是应用WIN32OLE,下面是一些常用的操作:
require 'win32ole'
module WordToHtml
class WordToHtml
def initialize(path)
@path = path
end
def convertToHtml(outputPath)
word = WIN32OLE.new('word.application')
word.Visible = true
word.Documents.Count
# 打开指定的WORD文档
word.Documents.Open(@path)
#选择所有文本
word.Selection.WholeStory
#所以可以保存为的文档格式
# wdFormatDocument = 0 (no conversion)
# wdFormatTemplate = 1
# wdFormatText = 2
# wdFormatTextLineBreaks = 3
# wdFormatDOSText = 4
# wdFormatDOSTextLineBreaks = 5
# wdFormatRTF = 6
# wdFormatUnicodeText = 7 # it repeats!
# wdFormatEncodedText = 7
# wdFormatHTML = 8
# wdFormatWebArchive = 9
# wdFormatFilteredHTML = 10
# wdFormatXML = 11
word.ActiveDocument.SaveAs outputPath, 10
# 关闭文档
word.ActiveDocument.Close
# 关闭WORD
word.Quit
end
end
end
测试代码:
require 'WordToHtml'
word = WordToHtml::WordToHtml.new("d:/test/5.doc")
word.convertToHtml("d:/test/5.html")
只有一句,就将WORD转换成为HTML,转换后的HTML与原WORD拥有同样的格式,包括图片(其实这部操作与在WORD中另存为HTML的效果一致)。
Ruby操作WORD主要是应用WIN32OLE,下面是一些常用的操作:
# 写入文本
word.Selection.TypeText("Hello World!\n")
# 查找文本
word.Selection.Find.Text = 'search'
# 如果找到,则result为 true
result = word.Selection.Find.Execute
# 删除选择的文本
word.selection.delete
# 读取选择的文本
puts word.Selection.Text
# 可以通过word.Selection.Start 和 word.Selection.End 来查找选择的区域,上面则是
#通过word.Selection.WholeStory选中整个文档
puts word.Selection.Start
puts word.Selection.End
#也可以给 word.Selection.Start 和 word.Selection.End设值,指定选择的区域
#如:
word.Selection.Start = 100
word.Selection.End = 200