这里测试的环境是: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文件",这是一个关于将Microsoft Word文档转换为HTML格式,以便在网页上预览的技术问题。下面将详细介绍这个过程涉及的关键知识点。 1. **...
对于Word文档,我们可以先将其转换为PDF格式,因为PDF格式通常有更好的跨平台打印支持。这需要用到`comtypes`库,它允许Python与Microsoft Office进行交互。对于PDF文件,可以直接调用打印命令。 例如,使用`...
办公自动化python将Word、Excel和PPT批量转成PDF文档,win32com操作word文档、Excel表格和PPT文档,WPS转为PDF文件。提高办公效率,快速阅读office文件,保护office文件格式和文件安全。
office格式转换 word,excel,ppt,html转pdf等,支持linux,无需安装任何其他依赖 基于命令行调用,本人用在了linux centos7 下的python项目里 windows例:OfficeToX.exe C:\\Users\\Administrator\\Desktop\\xxx.docx C:\...
在这个特定的案例中,"office文件格式转换工具.zip" 是一个包含使用Python编写的程序,它能够帮助用户将Microsoft Office文件,如Word文档(.docx)和PowerPoint演示文稿(.pptx),转换为PDF格式。同样,它还支持将...
这个"Office办公自动化-如何把Word文档批量转换为PDF文档-Python实例源码.zip"压缩包文件提供了一个实用的Python脚本,用于批量将Word(.doc或.docx)文档转换为更通用且易于分发的PDF格式。这一操作在很多场景下都...
Python有许多库支持与Office文件的交互,其中最常用的是`python-docx`库,它专门用于处理Word文档。 1. **Python-docx库介绍** `python-docx`是Python中用于操作Microsoft Word .docx文件的库。它允许开发者通过...
为了能够处理来自网络或其他来源的二进制数据,需要实现一个方法来直接从内存中读取DOC文档,并将其转换为LibreOffice可以处理的格式。 ```python def import_from_memory(data): istream = smgr....
python实现excel、word转换为pdf
这个压缩包文件“基于Python的批量重命名Word文档并转换为PDF.zip”提供了一个解决方案,它包含了用于自动处理Word文档并将其转换为PDF格式的Python源码。下面我们将深入探讨这一主题。 首先,Python作为一种高级...
"PPT转换Word"的主题聚焦于如何将PowerPoint(PPT)演示文稿转换为Microsoft Word文档。这个过程可以帮助用户方便地编辑演讲内容,或者在没有PowerPoint的情况下访问和分享信息。以下是对这个主题的详细阐述: 首先...
四行Python代码实现将word文件高效转换为PDF文件,对于使用Office的小伙伴从此就告别Office转PDF页数限制,时间效率低下等问题;同时对于使用WPS的小伙伴再也不用担心将Word转PDF需要会员;仅仅4行核心代码即可实现...
5. **遍历Word文件并转换**:定义一个函数,接收Word文件路径作为参数,打开文件,将其另存为PDF,然后关闭。 ```python def word_to_pdf(word_file_path, pdf_file_path): doc = word.Documents.Open(word_file_...
14. 用Python批量替换多个Word文件中的指定文字 15. 用Python批量转换doc文件为docx文件 16. 用Python自动生成Excel档每日领料单 17. 自动生成Excel档每日计划外出库单 18. 拆分Excel单元格中的单词
在平时的工作中,难免需要一些 小Tip 来解决工作中遇到的问题,今天的文章给大家安利一个方便快捷的小技巧,将 Office(doc/docx/ppt/pptx/xls/xlsx)文件批量或者单一文件转换为 PDF 文件。 不过在做具体操作之前...
Python Office 是一个强大的工具包,专门用于在Python环境中处理各种办公文档,如Microsoft Office的Word、Excel和PowerPoint。这个库使得Python开发者可以方便地进行数据导入导出、格式转换、文档生成等一系列与...
这个转换过程涉及到HTML文档的结构、样式以及图像如何被准确地保留在Word文档(.doc或.docx格式)中。以下是一些关于这个话题的重要知识点: 1. **HTML结构与Word文档结构**: HTML是一种标记语言,用于描述网页...
Python的`docx`模块是用于处理Microsoft Word和WPS Office的docx文件的一个强大工具。这个模块允许开发者读取、写入以及修改Word文档,包括文档中的文本、表格、图片等多种元素。在这个场景中,我们将关注如何使用`...
然后,在Microsoft Office Document Image中选择“工具”菜单中的“使用OCR识别文本”,识别完成后,在选择“工具”下的,“将文本发送到word”,最后将把整个PDF文件识别输出到word文件中。 对于加密的PDF文件,...