Recuento de palabras por lotes de archivos PDF en Windows 7

Estoy buscando un programa o script gratuito que pueda tomar una ruta de carpeta como entrada y generar el recuento de palabras de cada archivo PDF ubicado en la carpeta y sus subcarpetas. Debería funcionar en Windows 7 SP1 x64 Ultimate y ser gratuito.

Respuestas (1)

Instale Python2.7 para Windows desde aquí : instale PyPDF2 y use un script con una función como:

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)

Eche un vistazo a los ejemplos de os.path.walk y splitext para obtener algunas ideas sobre cómo iterar a través de directorios y cómo identificar archivos pdf.

Esto debería funcionar en casi cualquier plataforma, incluso en Windows, pero no se ha probado en ninguna plataforma. Si necesita uno, puede poner una interfaz gráfica de usuario con wxPython .