如何计算复杂文档中的字数(.rtf、.doc、.odt等)?

4 投票
2 回答
1548 浏览
提问于 2025-04-15 19:13

我想写一个Python函数,给定一个文档文件的路径,返回这个文档中的单词数量。对于.txt文件,这个事情比较简单,还有一些工具可以让我勉强支持其他复杂的文档格式,但我想要一个更全面的解决方案。

我查看了OpenOffice.org的py-uno脚本接口和支持的格式列表,似乎可以在没有图形界面的情况下加载文档,并调用它的字数统计功能。不过,我找不到任何超出基本文档生成的py-uno教程或示例代码,甚至我找到的代码片段也过时了,已经有好几年不能用了。

无论是使用OOo和Uno还是其他方法,我该如何获得各种格式文档的可靠字数统计呢?

2 个回答

2

这可能不是最适合你的方法,但如果你愿意的话,可以把文件上传到Google文档,然后导出为.txt格式。Google在转换文件方面通常做得很好。

你可以在这里找到相关的API信息:http://code.google.com/intl/pl/apis/documents/docs/1.0/developers_guide_python.html

可以看看登录、上传和导出这几个部分。

3

在无头模式下加载文档

并调用它的字数统计功能

PyODConverter 是一个比较新的脚本(2009年11月),可以用来通过 OOo 转换多种文件类型。看这个脚本,它基本上可以加载所有 OOo 支持的文档。

下面是如何以无头服务的方式启动 OOo:

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

然后你只需要写一个小的启动程序,通过命令行调用 OOo,运行你的脚本,然后关闭 OOo。


撰写回答