openoffice可以从控制台计算单词吗?

我有一个小问题,我需要计算控制台内的单词来阅读doc,docx,pptx,ppt,xls,xlsx,odt,pdf …所以不要建议我wc -w或grep,因为它们只用于文本或控制台输出,它们只计算空格,而日语,中文,阿拉伯语,印度语,希伯来语,他们使用不同的分隔符,所以单词计数是错误的,我试图用这个计算

pdftotext file.pdf -| wc -w
/usr/local/bin/docx2txt.pl < file.docx | wc -w
/usr/local/bin/pptx2txt.pl < file.pptx | wc -w
antiword file.doc -| wc -w 
antiword file.word -| wc -w

在某些情况下微软的话,openoffice悲伤1000字,如果语言是(日语,中文,印度语等),计数器返回10或300字,但如果我使用普通字符然后我没有问题最大的错误是在有些情况下3个字符少女巫是“OK”

我试图转换与soffice,openoffice然后尝试WC -w但我甚至无法转换,

soffice --headless --nofirststartwizard --accept=socket,host=127.0.0.1,port=8100; --convert-to pdf some.pdf /var/www/domains/vocabridge.com/devel/temp_files/23/0/东京_1000_words_Docx.docx 

要么

 openoffice.org  --headless  --convert-to  ........

要么

openoffice.org3 --invisible 

因此,如果有人知道任何方式正确计数或显示文件统计与openoffice或其他任何东西或Linux与控制台,请分享它

谢谢.

最佳答案 如果您有Microsoft Word(显然是Windows),您可以编写VBA宏,或者如果您想直接从命令行运行,可以使用以下内容编写VBScript脚本:

wordApp = CreateObject("Word.Application")
doc = ... ' open up a Word document using wordApp
docWordCount = doc.Words.Count
' Rinse and repeat...

如果您有OpenOffice.org/LibreOffice,您有类似(但更多)的选项.如果你想留在办公室应用程序并运行宏,你可能会这样做.我不太了解StarBasic API,它可以告诉你如何,但我可以给你另一种选择:创建一个Python脚本来从命令行获取字数.粗略地说,您执行以下操作:

>使用适当的参数从命令行启动OOo / LibO副本以接受传入的套接字连接. http://www.openoffice.org/udk/python/python-bridge.html有关于如何执行此操作的说明.去那里使用浏览器的页内查找功能来搜索“accept = socket”
>编写Python脚本以使用OOo / LibO UNO桥(基本上等同于上面的VBScript示例),一次打开一个Word / ODT文档,并从每个文档中获取字数.上面的页面应该为您提供良好的开端.
>您从文档模型对象的WordCount属性获取单词计数:http://www.openoffice.org/api/docs/common/ref/com/sun/star/text/GenericTextDocument.html#WordCount

点赞