`
jimmygan
  • 浏览: 83319 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Python转换office word文件为HTML

阅读更多
这里测试的环境是:windows xp,office 2007,python 2.5.2,pywin32 build 213,原理是利用win32com接口直接调用office API,好处是简单、兼容性好,只要office能处理的,python都可以处理,处理出来的结果和office word里面“另存为”一致。
#!/usr/bin/env python
 
#coding=utf-8
 
from win32com import client as wc
 
word = wc.Dispatch('Word.Application')
 
doc = word.Documents.Open('d:/labs/math.doc')
 
doc.SaveAs('d:/labs/math.html', 8 )
 
doc.Close()
 
word.Quit()

关键的就是doc.SaveAs(‘d:/labs/math.html’, 8 )这一行,网上很多文章写成:doc.SaveAs(‘d:/labs/math.html’, win32com.client.constants.wdFormatHTML),直接报错:

AttributeError: class Constants has no attribute ‘wdFormatHTML’

当然你也可以用上面的代码将word文件转换成任意格式文件(只要office 2007支持,比如将word文件转换成PDF文件,把8改成17即可),下面是office 2007支持的全部文件格式对应表:
wdFormatDocument                    =  0
wdFormatDocument97                  =  0
wdFormatDocumentDefault             = 16
wdFormatDOSText                     =  4
wdFormatDOSTextLineBreaks           =  5
wdFormatEncodedText                 =  7
wdFormatFilteredHTML                = 10
wdFormatFlatXML                     = 19
wdFormatFlatXMLMacroEnabled         = 20
wdFormatFlatXMLTemplate             = 21
wdFormatFlatXMLTemplateMacroEnabled = 22
wdFormatHTML                        =  8
wdFormatPDF                         = 17
wdFormatRTF                         =  6
wdFormatTemplate                    =  1
wdFormatTemplate97                  =  1
wdFormatText                        =  2
wdFormatTextLineBreaks              =  3
wdFormatUnicodeText                 =  7
wdFormatWebArchive                  =  9
wdFormatXML                         = 11
wdFormatXMLDocument                 = 12
wdFormatXMLDocumentMacroEnabled     = 13
wdFormatXMLTemplate                 = 14
wdFormatXMLTemplateMacroEnabled     = 15
wdFormatXPS                         = 18

照着字面意思应该能对应到相应的文件格式,如果你是office 2003可能支持不了这么多格式。word文件转html有两种格式可选wdFormatHTML、wdFormatFilteredHTML(对应数字8、10),区别是如果是wdFormatHTML格式的话,word文件里面的公式等ole对象将会存储成wmf格式,而选用wdFormatFilteredHTML的话公式图片将存储为gif格式,而且目测可以看出用wdFormatFilteredHTML生成的HTML明显比wdFormatHTML要干净许多。

当然你也可以用任意一种语言通过com来调用office API,比如PHP.

原文链接 : http://www.fuchaoqun.com/2009/03/use-python-convert-word-to-html-with-win32com/
分享到:
评论

相关推荐

    实现word文件转换成html文件实现在线打开预览word文件

    标题和描述中提到的"实现word文件转换成html文件实现在线打开预览word文件",这是一个关于将Microsoft Word文档转换为HTML格式,以便在网页上预览的技术问题。下面将详细介绍这个过程涉及的关键知识点。 1. **...

    python批量打印word、pdf文件,可按文件夹一份份打印

    对于Word文档,我们可以先将其转换为PDF格式,因为PDF格式通常有更好的跨平台打印支持。这需要用到`comtypes`库,它允许Python与Microsoft Office进行交互。对于PDF文件,可以直接调用打印命令。 例如,使用`...

    python将Word、Excel和PPT批量转成PDF文档

    办公自动化python将Word、Excel和PPT批量转成PDF文档,win32com操作word文档、Excel表格和PPT文档,WPS转为PDF文件。提高办公效率,快速阅读office文件,保护office文件格式和文件安全。

    office格式转换 word,excel,ppt,html转pdf等(无需安装任何其他依赖),支持linux,win

    office格式转换 word,excel,ppt,html转pdf等,支持linux,无需安装任何其他依赖 基于命令行调用,本人用在了linux centos7 下的python项目里 windows例:OfficeToX.exe C:\\Users\\Administrator\\Desktop\\xxx.docx C:\...

    office文件格式转换工具.zip

    在这个特定的案例中,"office文件格式转换工具.zip" 是一个包含使用Python编写的程序,它能够帮助用户将Microsoft Office文件,如Word文档(.docx)和PowerPoint演示文稿(.pptx),转换为PDF格式。同样,它还支持将...

    Office办公自动化-如何把Word文档批量转换为PDF文档-Python实例源码.zip

    这个"Office办公自动化-如何把Word文档批量转换为PDF文档-Python实例源码.zip"压缩包文件提供了一个实用的Python脚本,用于批量将Word(.doc或.docx)文档转换为更通用且易于分发的PDF格式。这一操作在很多场景下都...

    [JZ]第一个python-office2003 程序

    Python有许多库支持与Office文件的交互,其中最常用的是`python-docx`库,它专门用于处理Word文档。 1. **Python-docx库介绍** `python-docx`是Python中用于操作Microsoft Word .docx文件的库。它允许开发者通过...

    python实现excel、word转换为pdf

    python实现excel、word转换为pdf

    基于Python的批量重命名Word文档并转换为PDF.zip

    这个压缩包文件“基于Python的批量重命名Word文档并转换为PDF.zip”提供了一个解决方案,它包含了用于自动处理Word文档并将其转换为PDF格式的Python源码。下面我们将深入探讨这一主题。 首先,Python作为一种高级...

    ppt转换word,轻松转换ppt

    "PPT转换Word"的主题聚焦于如何将PowerPoint(PPT)演示文稿转换为Microsoft Word文档。这个过程可以帮助用户方便地编辑演讲内容,或者在没有PowerPoint的情况下访问和分享信息。以下是对这个主题的详细阐述: 首先...

    四行Python代码实现将word文件转换为PDF

    四行Python代码实现将word文件高效转换为PDF文件,对于使用Office的小伙伴从此就告别Office转PDF页数限制,时间效率低下等问题;同时对于使用WPS的小伙伴再也不用担心将Word转PDF需要会员;仅仅4行核心代码即可实现...

    Python代码源码-实操案例-框架案例-如何把Word文档批量转换为PDF文档.zip

    5. **遍历Word文件并转换**:定义一个函数,接收Word文件路径作为参数,打开文件,将其另存为PDF,然后关闭。 ```python def word_to_pdf(word_file_path, pdf_file_path): doc = word.Documents.Open(word_file_...

    通过Python实现Office自动化.zip

    14. 用Python批量替换多个Word文件中的指定文字 15. 用Python批量转换doc文件为docx文件 16. 用Python自动生成Excel档每日领料单 17. 自动生成Excel档每日计划外出库单 18. 拆分Excel单元格中的单词

    python 如何将office文件转换为PDF

    在平时的工作中,难免需要一些 小Tip 来解决工作中遇到的问题,今天的文章给大家安利一个方便快捷的小技巧,将 Office(doc/docx/ppt/pptx/xls/xlsx)文件批量或者单一文件转换为 PDF 文件。 不过在做具体操作之前...

    python-office-master.zip

    Python Office 是一个强大的工具包,专门用于在Python环境中处理各种办公文档,如Microsoft Office的Word、Excel和PowerPoint。这个库使得Python开发者可以方便地进行数据导入导出、格式转换、文档生成等一系列与...

    Html转Word(doc,docx),带样式以及图片

    这个转换过程涉及到HTML文档的结构、样式以及图像如何被准确地保留在Word文档(.doc或.docx格式)中。以下是一些关于这个话题的重要知识点: 1. **HTML结构与Word文档结构**: HTML是一种标记语言,用于描述网页...

    libreoffice python 操作word及excel文档的方法

    为了能够处理来自网络或其他来源的二进制数据,需要实现一个方法来直接从内存中读取DOC文档,并将其转换为LibreOffice可以处理的格式。 ```python def import_from_memory(data): istream = smgr....

    word文件批量替换(word转xml、xml转字符串、doc转docx)

    总结来说,“word文件批量替换”结合“word转xml”、“xml转字符串”和“doc转docx”技术,提供了一种强大的工具来处理和修改大批量Word文档。这种自动化处理不仅节省时间,而且减少了手动操作可能引入的错误,对于...

    基于python的docx模块处理word和WPS的docx格式文件方式

    Python的`docx`模块是用于处理Microsoft Word和WPS Office的docx文件的一个强大工具。这个模块允许开发者读取、写入以及修改Word文档,包括文档中的文本、表格、图片等多种元素。在这个场景中,我们将关注如何使用`...

Global site tag (gtag.js) - Google Analytics