【问题标题】:Display pdf files that contain a specific key-word显示包含特定关键字的 pdf 文件
【发布时间】:2017-10-25 21:47:42
【问题描述】:
【问题讨论】:
标签:
php
file
pdf
search
full-text-search
【解决方案1】:
您可以使用PDF2Text Class 将pdf 转换为文本,然后在文本中搜索您的单词。为了获得更好的性能,我强烈建议您在将 pdf 存储到系统中时执行该例程,将 2 个表保存在具有 2 个表的数据库中,1 个带有 pdf 名称,其他 (1-N) 个带有其中的文本以供将来搜索。 TL;DR 你需要的是OCR/提取文件,存储他并使用数据库或后端的一些命令进行全文搜索。
使用 PDF2Text 类,您可以:
include('class.pdf2text.php');
$a = new PDF2Text();
$a->setFilename('youfile.pdf');
$a->decodePDF();
//use the db you want
sql = "insert into TABLEPDF (name, content) VALUES ('youfile', $a->output())";
之后,当用户将要搜索的关键字放入您的输入时,它只是在您的数据库中搜索,搜索后列出(如果 num_rows > 0)包含该关键字的 pdf:
$query = "SELECT name FROM TABLEPDF where content like '%$keyword%';
您也可以使用 OCR 类,改进系统接受的文件:
http://phpocr.sourceforge.net/
https://github.com/thiagoalessio/tesseract-ocr-for-php