我需要从上传的文档中提取纯文本,以便使它们可以被搜索。文档可以是MS Word或pdf文件(扫描或含有文本均可)。所涉及的应用程序正在运行在LAMP堆栈上,但安装其他软件也是一个选项。你能推荐任何工具、服务、库或这些组合来完成这个任务吗?
我需要从上传的文档中提取纯文本,以便使它们可以被搜索。文档可以是MS Word或pdf文件(扫描或含有文本均可)。所涉及的应用程序正在运行在LAMP堆栈上,但安装其他软件也是一个选项。你能推荐任何工具、服务、库或这些组合来完成这个任务吗?
您可以使用一些shell工具,例如pdftotext
来处理PDF文件,wvWare
来处理DOC文件,docx2txt.pl
来处理DOCX文件,就像textractor rubygem所做的那样。
# on Ubuntu
apt-get install wv xpdf-utils links
我不知道有哪些软件可以将PDF转换为文本,但对于MS Word部分,您可以使用Apache POI:http://poi.apache.org/,它是用JAVA构建的,因此您必须从PHP文件中执行二进制文件才能使其正常工作。
另一个选择是使用JODConverter(我目前正在使用此选项)http://code.google.com/p/jodconverter/ 因此,如果Apache POI无法正常工作,我知道jodconverter可以。我正在使用3.0 beta版本。
在我的PHP代码中,我保存上传的文件并在tmp目录中执行转换器二进制文件,这将在tmp目录中创建一个新文件,并从新文件中提取纯文本。