Skip to content

Instantly share code, notes, and snippets.

@diegoponciano
Last active May 8, 2018 12:53
Show Gist options
  • Save diegoponciano/637ce056b4df6934eb1d255cda882783 to your computer and use it in GitHub Desktop.
Save diegoponciano/637ce056b4df6934eb1d255cda882783 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
# dateutil, pdftools
import argparse
import os
from pdftools import pdf_split
from PyPDF2 import PdfFileReader
from dateutil import parser, relativedelta
from shutil import move
def renomeia(filename, date_str):
# filename = 'Bradesco_17082016.PDF'
directory = os.path.dirname(os.path.abspath(filename))
pdf_split(filename, None, stepsize=1)
f = open(filename, 'rb')
reader = PdfFileReader(f)
page_num = len(reader.pages)
f.close()
# date = parser.parse('25-08-2016')
date = parser.parse(date_str, dayfirst=True)
name, ext = os.path.splitext(filename)
for i in range(1, page_num+1):
newname = 'parcela {} - {}.pdf'.format(i, date.strftime('%d-%m-%Y'))
move('{}_{}.pdf'.format(name, i), os.path.join(directory, newname))
date += relativedelta.relativedelta(months=1)
if __name__ == '__main__':
args_parser = argparse.ArgumentParser(description='Separa boletos em PDF.')
args_parser.add_argument('filename', metavar='filename', type=str,
help='path do arquivo a ser dividido')
args_parser.add_argument('date_str', type=str,
help='data do primeiro boleto (dd-mm-yyyy)')
args = args_parser.parse_args()
renomeia(args.filename, args.date_str)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment