如何在Python中将Word文档转换为非常简单的HTML?
我时不时会收到一个Word文档,需要把它显示成网页。目前我用的是Django的flatpages功能,直接拿MS Word生成的HTML内容来用。不过,这些生成的HTML代码非常乱。有没有更好的方法,可以用Python生成更简单的HTML来解决这个问题呢?
6 个回答
3
我这个超级简单的应用 WordOff 有一个 API,可以用来清理从Word导出的HTML中的杂乱内容。你可以重写你的flatpages模型中的保存方法,让你的HTML在第一次保存时通过这个API处理一下。大概可以这样做:
import urllib
import urllib2
def decruft(html):
data = urllib.urlencode({'html' : html})
req = urllib2.Request('http://wordoff.org/api/clean', data)
response = urllib2.urlopen(req)
return response.read()
def save(self, **kwargs):
if not self.pk: # only de-cruft when content is first added
self.content = decruft(self.content)
super(FlatPage, self).save(**kwargs)
4
我找到一个网页:http://www.textfixer.com/html/convert-word-to-html.php
这个网页可以把格式化的文本转换成简单的HTML代码,它会保留加粗、斜体、链接和段落,但不会添加字体大小和字体样式的标签。正好满足我节省时间的需求。
6
一个不错的解决办法是把文件上传到Google文档,然后从那里导出HTML版本。(应该有相关的API吧?)
这个方法会进行很多“清理”工作;之后可以使用Beautiful Soup来进行进一步的修改,视情况而定。它是目前最强大、最优雅的HTML解析库。
这在新闻公司中是一个公认的标准。