JScript

Programação & Desenvolvimento


Você não está conectado. Conecte-se ou registre-se

Lendo título de arquivos PDF com Python

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1Lendo título de arquivos PDF com Python Empty Lendo título de arquivos PDF com Python Ter 17 Mar 2015, 12:19 pm

waghcwb

waghcwb
Desenvolvedores
Desenvolvedores

Recentemente fiz o download de muitos arquivos PDF, e os nomes deles vieram com o nome da URL onde fiz o download (usei o wget do Linux), e com isso precisava verificar o nome de cada PDF para renomear eles de acordo com o nome contido dentro do próprio arquivo.

Para isso usei a lib PDFMiner (www.unixuser.org/~eu...pdfminer), ela é bem simples de ser usada, assim como o Python.

Segue o código que usei

Código:
# importa as libs
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument

# para renomear os pdf
import os

# cria uma função para pegar o title do pdf
def get_title(pdf_path):
    infile = open(pdf_path, 'rb')
    parser = PDFParser(infile)
    document = PDFDocument(parser)

    return document.info[0]['Title']

# loop para todos os arquivos pdf da pasta
for file in os.listdir('.'):

    # se for um arquivo pdf...
    if os.path.splitext(file)[1] == '.pdf':

        # tenta renomear
        try:
            title = get_title(file)

            # se o titulo nao for uma string vazia
            if title != ' ':

                # renomeia o arquivo
                os.rename(file, '%s.pdf' % title)
                print 'Arquivo renomeado: %s.pdf' % title
            else:
                print '\nString invalida'
        # apenas mostra o erro mas continua no loop
        except Exception as message:
            print "Erro: ", message
            pass

Esta todo comentado com as informações referentes a cada linha...

Vale a pena ler a documentação da biblioteca, ela é muito mais poderosa do que simplesmente ler o título dos arquivos... Com ela é possível fazer de tudo com arquivos PDF.

cheers study

http://wagneraugusto.com.br/

joelson0007

joelson0007
Moderadores
Moderadores

Muito bom, vou guardar, pois tenho certeza que vou precisar mais cedo ou mais tarde!

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos