PHP - 上传doc、docx、pdf文件并提取所有内容

3
  • 有没有办法在上传文档的同时执行OCR?

  • 我们能否索引整个文档?

  • 即使用户需要付费查看完整文档,搜索引擎是否能够索引整个文档?

  • 文档能否作为预览显示,只显示选定的摘录,其余部分模糊但文档格式仍可查看?

我一直在尝试使用简单的PHP函数或其他看起来不像“火箭科学”的东西来寻找这些问题的简单解决方案。但无论我到哪里看,都会看到人们谈论ApachePOI和Solr Cell等服务器命令,这些我都不知道。对于最后一个问题,我只能想到使用PHPGD生成带有模糊内容的图像,但如果文档中包含格式化文本、图像和表格等,我不确定如何操作。

因此,如果有人有简单的解决方案,甚至是复杂的解决方案,但是有简单易懂的说明,那就更好了。例如“面向新手的PHP文档内容提取”,从基础开始讲解。

提前感谢您!


2
这里涉及的内容太多了,单个问题无法覆盖。您应该为每个独立的部分提出一个单独的问题。 - Polynomial
难道没有一个可以满足所有需要的解决方案吗?比如一个简单的内容提取技术,就能解决所有问题。当然除了最后一个问题,但那并不是主要问题,可以忽略不计。 - salmanhijazi
2
不行。你很幸运能找到一个涵盖多个文档格式的库,特别是你询问多个文档格式。 - Polynomial
我希望有人曾经做过这个,看到这个问题后能够轻松地指向资源或教程,涵盖所有内容。或者至少指引我正确的方向。 - salmanhijazi
别抱太大希望。你所说的是解析多种专有文档格式,对矢量格式(如PDF)进行光学字符识别,索引算法,搜索算法和复杂图像处理。这是一个非常艰巨的任务。 - Polynomial
3个回答

1

Zend_Search_Lucene 包含一些代码来读取 docx 文件,这些代码可以在 PHP 中运行。

对于 PDF 和 doc,您可以使用命令行实用程序提取纯文本内容,例如 catdoc 或 pdftotext。如果您搜索一下,您可以找到大多数文件格式的这些实用程序。它们通常由大多数发行版打包。

从原始文本格式,您可以将其馈送到任何全文搜索引擎中。


0
有没有办法在上传文档时执行OCR?
当然可以,OCR适用于任何图像数据。OCR组件确实存在,只需使用其中一个即可。
我们能否索引整个文档?
我不能告诉你“我们”是否能够,但我可以索引文档。您只需要一个文档、一个索引和一个索引文档的例程。
搜索引擎能否索引整个文档?即使用户需要付费才能查看完整文档?
这取决于文档格式。如果文档受到保护,索引器无法完全访问它,则无法完全索引它。另一方面,如果索引器能够规避保护措施,它仍然可以进行索引,但在某些法律领域可能存在法律问题。从技术上讲,这不应该是一个问题。
文档能否以预览形式显示,只显示所选摘录的内容,其余部分模糊,但文档格式仍可查看?
为什么不呢?我的意思是,如果您有这样一种显示例程,那就没问题了。
如果你不熟悉所使用的技术,我建议你联系一个熟悉该技术并能向你解释的人。对于某些任务,应该存在组件,但是需要你自己将它们组合起来。你的问题涵盖了太多内容,因此没有现成的解决方案。

0

多项式是正确的。你不会在一个地方找到这一切。即使是 OCR 也需要多个模块才能正确工作,而且其中没有任何一个是完全免费的。如果你想要合理的 OCR,那么你就需要使用商业引擎。

你将需要一个 Word DOC/DOCX 到 TIFF 转换器,以及一个 PDF 到 TIFF 转换器,或者你将需要购买类似 ABBYY FineReader SDK 的东西来执行 OCR,虽然不便宜,但肯定比 Tesseract OCR 做得更好。

索引和搜索可能是使用 ApachePOI 和 Solr Cell 最简单的部分,但模糊预览将需要一些自定义编码。

这个项目不会容易或廉价。


对于将Word Doc/Docx转换为Tiff,可以使用http://www.convertapi.com。只需注意@Hakre。 - Tomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接