计算php中.doc,.docx,.rtf或.pdf文件中的单词数

时间:2013-06-06 08:25:21

标签: php

我在PHP中有一个应用程序,它接受来自用户的.doc,.docx,.pdf和.rtf文件。然后,应用程序会计算上传文档中的单词数以计算价格。

我一直在寻找这个问题。我所知道的这可以通过COM类轻松完成,但这只适用于Windows服务器而不适用于Linux。我的应用程序在Linux服务器上运行。

有人能告诉我如何实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

Apache POI

Apache POI可以从Microsoft格式中提取。文本提取相当简单,所以应该没问题,即使docx被认为是实验性的,据我所知

创建一个简单的命令行程序,它可以直接返回单词计数或返回文件的文本内容,应该是相当简单的。我之前使用POI来索引Microsoft文档并且它运行良好。

LibreOffice / OpenOffice

  • soffice --headless --convert-to txt:text <file>
  • 还可以处理.odt.rtf等...(不是PDF格式)
  • 可能不是最快的解决方案

还有一些库基本相同,同时提供了一个通用接口,如

否定

正如评论中提到的,那里有“很多”这样的图书馆,我做了一些研究,但并不是很成功;我找到了以下库,但似乎没有一个实际上具有所需的功能

  • PHPWord:只能 docx
  • PHPDocX:也仅用于生成,但可以从现有docx中提取,但不能从二进制doc格式中提取。专业版有一个转换器,但它需要Java,所以我敢打赌它在后台使用Apache POI。

对于PDF,您必须获得另一种解决方案。但实际上有很多的PHP PDF库,其中大多数至少都是不错的,因为PDF是一种定义明确的格式,如果不是其他的话。