如何在 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