ruby操作WORD文档生成HTML

通过ruby代码,将指定的WORD文档转换为HTML:

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值