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

时间:2009-10-20 19:52:44

标签: python html django ms-word

我偶尔会收到一个Word文档,我必须将其显示为网页。我目前正在使用Django的flatpages通过抓取MS Word生成的html内容来实现这一点。生成的HTML非常混乱。有没有更好的方法可以使用Python生成非常简单的html来解决这个问题?

6 个答案:

答案 0 :(得分:6)

一个好的解决方案是上传到Google文档并从中导出html版本。 (必须有api吗?)

它做了很多“清理”;未来Beautiful Soup可用于进行任何进一步的更改。它是这个星球上最强大,最优雅的html解析库。

这是记者公司的一个已知标准。

答案 1 :(得分:4)

我找到了这个网页:http://www.textfixer.com/html/convert-word-to-html.php

它将格式化文本转换为简单 HTML标记,保留粗体,斜体,链接和段落,但不为字体大小和面添加标记。正是我需要节省一些时间。

答案 2 :(得分:3)

我的超级简单应用WordOff有一个API用于清除Word导出的HTML。您可以覆盖flatpages模型的save方法,以便在第一次保存时通过API管道HTML。像这样:

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)

答案 3 :(得分:2)

这取决于您要处理的格式和图像的数量。我做了几件事之一:

  • Google文档:可能是最接近原始格式和可用HTML的。
  • Markdown :放弃格式化。将其粘贴到纯文本编辑器中,通过Markdown运行并手动修复其余部分。

答案 4 :(得分:2)

您还可以使用Abiword / wvWare将word文档转换为XHTML,然后使用BeautifulSoup / ElementTree /等解析它。如果需要,可以预处理它。根据我的经验,Abiword在转换Word文件和生成相对干净的XHTML文件方面做得非常好。

我应该提一下,Abiword可以在命令行上运行,因此很容易将它集成到自动化过程中。

答案 5 :(得分:2)

Word 2010具有“另存为过滤网页”的功能。这将消除Word插入的绝大部分HTML。