pdf_split.py 843 B

12345678910111213141516171819202122232425262728
  1. import os
  2. from PyPDF2 import PdfFileReader, PdfFileWriter
  3. def pdf_splitter(path):
  4. fname = os.path.splitext(os.path.basename(path))[0]
  5. pdf = PdfFileReader(path)
  6. for page in range(pdf.getNumPages()):
  7. pdf_writer = PdfFileWriter()
  8. pdf_writer.addPage(pdf.getPage(page))
  9. output_filename = '{}_page_{}.pdf'.format(fname, page+1)
  10. with open(output_filename, 'wb') as out:
  11. pdf_writer.write(out)
  12. print('Created: {}'.format(output_filename))
  13. def read_pdf_file():
  14. result = []
  15. for path, file_dir, files in os.walk('./'):
  16. for file_name in files:
  17. if '.pdf' in file_name:
  18. result.append(os.path.join(path, file_name))
  19. return result
  20. if __name__ == '__main__':
  21. path = read_pdf_file()
  22. for p in path:
  23. pdf_splitter(p)