Я использовал библиотеку pyPDF для этого (это непосредственно от activeState веб-страницы):
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
print getPDFContent("test.pdf")
Это должно быть хорошее место, чтобы начать работу. Я использовал это для автоматического тестирования созданных PDF-файлов.
Возможно, лучшим подходом, более подходящим для вашего вопроса, будет использование Microsoft SQL Server. Они имеют полный текстовый поиск документов (поиск «Полный текстовый поиск SQL Server в формате pdf»). Если вы можете загрузить все документы на SQL-сервере, вы можете начать использовать полнотекстовый поиск, чтобы получить нужную информацию. Это может быть проще и гибче, чем выше.
Если бы вы могли уточнить и сузить этот вопрос, вы также можете получить больше ответов. – rkh