Пакетный подсчет слов в файлах PDF в Windows 7

Я ищу бесплатную программу или скрипт, который может принимать путь к папке в качестве входных данных и выводить количество слов в каждом файле PDF, расположенном в папке и ее подпапках. Он должен работать на Windows 7 SP1 x64 Ultimate и быть бесплатным.

Ответы (1)

Установите Python2.7 для Windows отсюда — установите PyPDF2 и используйте скрипт с такой функцией, как:

import PyPDF2 as ppdf
from os.path import walk, join, splitext
import sys

def getPDFWordCount(path):
    word_count = 0
    # Load PDF into pyPDF
    pdf = ppdf.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()
        # Collapse whitespace and count
        word_count += len(content.replace(u"\xa0", " ").strip().split())
    return word_count

if __ name__ == "__main__":
    for arg in sys.argv[1:]:
        for (root, dirs, files) in walk(arg):
            for filename in files:
                (name, ext) = splitext(filename)
                if ext.lower() == '.pdf':
                    filepath = join(root, filename)
                    print filepath, getPDFWordCount(filepath)

Взгляните на примеры os.path.walk и splitext, чтобы понять, как перебирать каталоги и как идентифицировать файлы PDF.

Это должно работать практически на любой платформе, даже на Windows , но не тестировалось ни на одной платформе. Если вам это нужно, вы можете установить интерфейс с графическим интерфейсом с помощью wxPython .