Getting PHP to read .doc files on Linux我正在尝试将.doc文件读入数据库,以便可以为其内容编制索引。 Linux上的PHP是否有一种简单的方法来读取.doc文件? 是否无法将.doc文件转换为rtf,pdf或其他易于阅读的"开放"格式? 注意,我对.docx文件不感兴趣。 康纳,我建议您看一下OpenOffice命令行界面/调用宏。它可以将许多文件格式转换为许多其他格式。然后,您可以选择比MS doc更可解析的内容。 例如,要转换为PDF,请使用以下命令行:
似乎有一个用于访问Word文档的库,但不确定如何从PHP访问它。我认为最好的解决方案是从PHP调用其wv命令。 phpLiveDocx是一个Zend Framework组件,可以在Linux,Windows和Mac上的PHP中读写DOC和RTF文件。此外,您可以使用它来生成PDF文件,甚至可以将PHP中的数据合并到使用MS Word或Open Office创建的模板文件中! 请参阅项目网站: http://www.phplivedocx.org 我在Ubuntu中找到了unoconv软件包。它会在OpenOffice支持的所有格式之间进行转换。您应该能够在php中使用exec来运行该实用程序。 您可以使用反词或AbiWord提取文本并将其提供给您喜欢的全文索引器。 AbiWord可能会更有效地实现您的目的,因为它可以转换为RTF,PDF和其他格式(是的,它是GUI文字处理器,但它也支持命令行用法)。
经过几天的搜索,这是我最好的解决方案: 安装套件
在PHP中使用它:
DOC文件以二进制格式存储,没有任何纯php编写的类来处理它们。 RTF文件更容易解析,因为大多数文本都是文本,您可以使用fopen打开它们并阅读内容。 如果可以的话,我建议您使用RTF,因为对于DOC文件确实还没有完善的解决方案。 它不是PHP,但是有一个doc2rtf实用程序可以使用。在这里,您可以将RTF文件作为文本文档打开,编写一些字符串替换例程以删除RTF格式代码,并获得适合索引的文本。 或者,您可以获取OpenOffice并打开MS Word文档,然后打开"文件">"另存为">" RTF"。 |