如何在 Python 中将 Word 文档转换为非常简单的 html? [关闭]

Posted

技术标签:

【中文标题】如何在 Python 中将 Word 文档转换为非常简单的 html? [关闭]【英文标题】:How do you convert a Word Document into very simple html in Python? [closed] 【发布时间】:2010-12-08 11:44:14 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

这太神奇了!完全按照我的意愿工作。【参考方案3】:

我的超级简单应用程序WordOff 有一个API 用于清理Word 导出的HTML 中的垃圾。您可以覆盖平面页面模型的保存方法,以便在第一次保存 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)

【讨论】:

WordOff 在这种事情上做得非常好 如果你想在本地使用wordoff,你可以下载模块并使用它的“superClean”方法得到相同的结果:raw.github.com/tomdyson/wordoff/master/wordoff.py 你好,虽然 WordOff.org 已经过期了【参考方案4】:

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

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

【讨论】:

【参考方案5】:

这取决于您要处理多少格式和图像。我会做以下几件事之一:

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

【讨论】:

如何从 Google Doc 获取 HTML?是“下载为 HTML”选项吗? +1:Word Doc 文件非常难以处理。许多工具会转换它们,包括 Open Office。 Google Docs 有一个简单的 API,因为它是一个 HTTP 网络服务。 MS Word -> HTML 简直是邪恶的。我有一个客户递给我一份 95(!)页的 word 文档,其中包含数百个“可以看到的地方”,并说:“将其输入数据库应该很容易。”啊!我做到了,并为这项特权向他收取了 100 美元/小时的费用,但考虑到痛苦的程度,我认为我收取的费用太少了。 HTML 是我用过的最糟糕的。【参考方案6】:

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

它做了很多“清理”; Beautiful Soup 可用于在适当的情况下进行任何进一步的更改。它是地球上最强大、最优雅的 html 解析库。

这是新闻公司的已知标准。

【讨论】:

但是您究竟是如何通过 Google Docs 做到这一点的呢?我上传了我的 MSWord 文档并选择了转换选项 - 它丢失了所有图表

以上是关于如何在 Python 中将 Word 文档转换为非常简单的 html? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 或 C++ 中将 ms word 文档转换为 svg

怎么把python输出为word

在 ASP.NET 中将 MS Word 文档转换为 PDF [关闭]

如何在电脑中将Excel表格格式转换成PDF格式?

Java 将Word文档转换为PDF

如何使用python将txt文件或PDF转换为Word doc?