Если бы мне пришлось написать программу для этого, я бы нашел библиотеку рендеринга PDF, способную извлекать текст из файлов PDF, например Xpdf , и затем считать слова.Если бы это была однозадачная задача или что-то, что нужно было автоматизировать для задачи непроизводственного качества, я просто передал бы файл в программу pdftotext, а затем проанализировал выходной файл с помощью python, разделив его на слова, поместив их всловарь и подсчет количества вхождений.
Если бы я задавал этот вопрос для интервью, я бы искал пару вещей:
- понимая разницу между настройками для этой задачи: одноразовый сценарий вещь против производственного кода
- , не пытающийся реализовать PDF-рендеринг самостоятельно и вместо этого поиск библиотеки.
Теперь я не ожидал бы этого от любого случайного кандидатабез опыта работы с PDF, но вы можете провести очень содержательное обсуждение того, что такое PDF и что такое «слово».Видите ли, PDF хранит текст в виде набора строк с координатамиКаждая строка не обязательно является словом.Часто слова будут разбиты на пару совершенно отдельных строк, которые абсолютно позиционируются в документе, чтобы составить одно слово.Вот почему иногда при поиске слов в документе PDF вы получаете странные результаты.Таким образом, чтобы реализовать поиск слов в документе, вам нужно склеить эти строки обратно (pdftotext позаботится об этом за вас).
Это совсем не плохой вопрос.