java -jar tika-app-1.10-SNAPSHOT.jar -m manu.pdf > output.txt
,它会在输出文件中成功创建我需要的文本。从PHP调用Tika以获取上传文件的纯文本到PHP的最佳方法是什么?
搜索我发现:
exec
命令调用Tika。但我不确定最简单的方法是什么。
答案 0 :(得分:2)
如果它位于您自己的托管服务器上,并且您已知 PHP 和 Tika 位置,请使用exec
。
或者如果您更喜欢更好的控制(我怀疑您不需要),请使用shell_exec
如果你有一些性能问题,和/或需要扩展这个问题,那么就有更复杂的解决方案。
答案 1 :(得分:2)
要在远程服务器上运行,我建议您使用curl
或Guzzle
来呼叫该地址(但您也可以使用file_get_contents
并将其传递给API的网址将在远程服务器上调用 Tika 。
为了在同一服务器上的本地( Tika 和 PHP )上运行解析,我使用了Synfony/Process。
我个人不鼓励你只使用exec
。
我想补充说,在另一台服务器上安装Tika会强制您向该服务器发送从用户上传的整个文件负载。 更快的解决方案是通过PHP执行来接收上传,并直接从同一脚本(或至少从同一台机器)调用Tika进程。 否则你需要一个脚本:
正如我高调的那样,两台服务器之间的通信会有更多的开销;当要解析的文件可能是35MB的pdf文件时,这是不可取的,是吗? 用户必须等待,比如2分钟才能上传, PLUS 其他,比方说,20秒将文件发送到 Tika 服务器,然后其他,让我们说3秒钟来获得文本格式解析结果。
我强烈建议您继续使用相同的 PHP 服务器。