`
rainlife
  • 浏览: 234392 次
  • 性别: Icon_minigender_1
  • 来自: 我也来自火星?
社区版块
存档分类
最新评论

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

分享到:
评论
1 楼 vosv 2008-03-30  
不错~非常好~~~

相关推荐

    ruby 之 html 转 word 代码

    `wiki2word`可能是你提供的压缩包中的工具,它可能是一个Ruby gem用于将HTML内容转换为Word文档。在Ruby中,有几个库可以实现这个功能,如`html2docx`、`fasthtml2docx`或` nokogiri`结合`axlsx`。如果没有提供具体...

    Ruby-office文档阅读插件常规格式都可支持

    这款插件名为“flt_office_reader”,正如其名称所示,它专注于提供对PDF、Word文档、Excel表格、PowerPoint幻灯片以及纯文本文件等不同类型的文档的支持。以下是对这个插件的详细介绍: 1. **PDF 支持**: PDF...

    WordXML-to-HTML:XSL将MS Word生成的XML转换为HTML

    这些核心转换将Word XML转换为符合HTMLBook规范HTML,并由少数其他ruby和XSL转换建立,以创建可插入较大的Macmillan工作流程HTML文件。 具体来说,这些XSL转换是bookmaker_htmlmaker流程的一部分-。 对于格式良好...

    Ruby_On_Rails笔记

    在视图文件中,我们可以使用Ruby代码来动态生成HTML内容。在Rails中,视图文件通常与相应的控制器和动作相对应,形成一个完整的展示层。 另外,Rails中的Web服务器启动和运行也是开发过程中的一个基本步骤。在Rails...

    MVC新手指南WORD文档

    MVC最早由Trygve Reenskaug在1979年提出,但其在网络应用中的广泛应用始于Struts和Ruby on Rails这两个开发框架的推广。 **控制器(Controller)** 是MVC中的核心组件,它负责接收和处理用户的请求,如HTTP的GET或...

    程序员为什么还要刷题-caracal:Caracal是一个ruby​​库,用于动态创建专业品质的MicrosoftWord文档(.docx)

    ruby​​ 库,用于使用 HTML 样式的语法动态创建专业质量的 Microsoft Word 文档。 Caracal 不是一个神奇的 HTML 到 Word 翻译器。 相反,它是一种用于生成 Office Open XML (OOXML) 的标记语言。 程序员通过针对...

    ruby on rails 笔记(陈刚)

    从给定的文件信息来看,这份文档是陈刚关于Ruby on Rails的学习笔记,旨在帮助初学者更好地理解并掌握Ruby on Rails这一流行的Web开发框架。以下是对文档中提及的关键知识点的详细解析: ### 安装与配置 #### Ruby...

    Ruby_on_Rails笔记

    - **安装Ruby**: 按照安装向导提示进行操作。 - **验证安装**: 使用命令`ruby -v`来检查Ruby是否安装成功及版本信息。 ##### 2.2 安装Rails - **安装Rails命令**: `gem install rails --include-dependencies` - **...

    Aspose安装原包.rar

    10. **模板与宏**:在处理Word文档时,Aspose支持使用模板和宏来生成动态内容,这在批量生成报告或自定义文档时非常有用。 在使用"Aspose安装原包.rar"这个压缩包时,你需要先将其解压,然后根据你的开发需求选择...

    perfect-word:生成词典

    它也是独一无二的,因为它是用三种不同的编程语言(Ruby、C 和 Python)编写的,您可能会讨厌它们。 我们想通过遗传算法找到一个好名字。 如今,很难为公司找到一个好的新名称(特别是如果免费的 .com 域在您的...

    (完整word版)HTML标签-按功能分类.doc

    - `<keygen>`:定义用于生成密钥的输入。 - `<output>`:定义不同类型的输出结果。 4. **框架标签**: - `<frame>`:定义框架集中的窗口或框架。 - `<frameset>`:定义框架集。 - `<noframes>`:为不支持框架...

    Aspose转换WORD,EXCEL,PPT,TXT成PDF文件,swftools转成swf,实现FlexPaper在线浏览

    Aspose是一个强大的文件处理组件库,它提供了多种编程接口,支持.NET、Java、Python、Ruby等多平台。Aspose的核心功能是处理各种办公文件,如Microsoft Word(DOC, DOCX)、Excel(XLS, XLSX)、PowerPoint(PPT, ...

    Aspose.Words

    7. **编程语言支持**:除了.NET和Java,Aspose.Words还支持云环境,提供了RESTful API,使得Python、Ruby、PHP、Node.js等其他语言的开发者也能轻松地进行Word文档处理。 8. **性能优化**:Aspose.Words库经过优化...

    markdown_to_word_demo:Markdown 到 Word 的快速演示

    在这个“markdown_to_word_demo”项目中,我们将探讨如何使用Ruby将Markdown文件转换为Microsoft Word文档。 Markdown的基本语法包括: 1. **标题**:使用“#”号来定义标题,#的数量决定了标题的层级。 2. **段落*...

    基于python生成代码日志文件的py文件,使用的logstash.rar

    在这个场景中,我们关注的是如何利用Python生成代码日志文件,并结合Logstash进行日志处理。Logstash是一款开源的数据收集引擎,可以方便地对各种日志数据进行统一管理和分析。 首先,让我们深入理解Python的`...

    word_bingo

    在Ruby编程语言中,"word_bingo"可能是一个游戏或项目的名称,它涉及到文本处理、随机数生成以及可能的用户交互。在这个项目中,我们可能会遇到以下关键知识点: 1. **数组(Array)**:在Ruby中,数组是用于存储一...

    微软office的替代 asposedll

    2. **文档生成**:通过Aspose的API,开发者可以编程生成复杂的报告、合同或任何其他类型的文档,只需提供数据和模板,即可自动生成所需的文件。 3. **表格和图表处理**:Aspose允许对Excel电子表格进行操作,包括...

    swordfish:文档解析器

    Swordfish 是一个简单的 Ruby 文档处理库。...转换文档将 Word 文档转换为 HTML 只需要两次调用:一次解析文档,一次生成标记: require 'swordfish'Swordfish . open ( '~/Documents/my_word_doc.docx' ) . to_html

    PDF Read Write

    例如,PDFlib(多语言支持)允许从头创建PDF,而Prawn(Ruby)则专注于生成PDF报告和文档。 4. **PDF的元信息** - 元信息是关于PDF文件的附加信息,如作者、标题、创建日期等。这些信息通常存储在PDF文件的“Info...

    (完整word)开源自动化测试工具selenium的使用.doc

    本文档对开源自动化测试工具 Selenium 的使用进行了详细的介绍。Selenium 是一个非商业支持的稳定性和易用性最好的自动化测试工具,具有较高的软件投资优势和针对 Web 测试的稳定性优势。 一、Selenium 概述 ...

Global site tag (gtag.js) - Google Analytics