【问题标题】:Display pdf files that contain a specific key-word显示包含特定关键字的 pdf 文件
【发布时间】:2017-10-25 21:47:42
【问题描述】:

我正在尝试开发一种搜索工具,可以搜索所有 PDF 中的单词,结果将列出所有包含该单词或术语的 PDF。我是一个完整的初学者,不知道它是怎么回事。我尝试通过互联网搜索并获得了一个来源,即https://github.com/skfaisal93/AnyWhereInFiles

上述项目链接适用于 txt、css 和 php 文件,但不适用于 pdf 扩展名。

任何想法或解决方案都会很好。提前致谢。

【问题讨论】:

    标签: 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

    【讨论】:

    • 这正是我正在寻找的答案。感谢您的解决方案
    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2015-10-29
    相关资源
    最近更新 更多