如何在Python中将Word文档转换为非常简单的HTML?

13 投票
6 回答
27458 浏览
提问于 2025-04-15 15:13

我时不时会收到一个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解析库。

这在新闻公司中是一个公认的标准。

撰写回答