浏览 493 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-03-15 关键字: 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
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |



