如何在400多个PDF文件中搜索关键词?

1 投票
1 回答
2431 浏览
提问于 2025-04-18 15:42

我有大约400个或更多的PDF文件,它们一起构成了一整本书,就像是一本书的每一页都分开了。我需要能够通过编程的方式在整个文本中搜索一些关键词。

所以我第一个问题是:是逐页搜索更好,还是先把所有的PDF合并成一个大文件,然后再进行搜索更好呢?

第二个问题是:有什么好的方法可以做到这一点吗?有没有现成的好程序或库可以使用?

顺便说一下,我只使用PHP和Python。

1 个回答

1

使用 PyPdf,具体的说明可以在 这里 找到。

import pyPdf

def getPDFContent(path):
    content = ""
    # Load PDF into pyPDF
    pdf = pyPdf.PdfFileReader(file(path, "rb"))
    # Iterate pages
    for i in range(0, pdf.getNumPages()):
        # Extract text from page and add to content
        content += pdf.getPage(i).extractText() + "\n"
    # Collapse whitespace
    content = " ".join(content.replace("\xa0", " ").strip().split())
    return content

for f in filelist:
    print keyword in getPDFContent(f)

一个一个地搜索文件会更快也更简单,因为你可以逐个遍历所有文件,然后对每个文件使用相同的代码。

撰写回答