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
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.
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.