In this tutorial, I am going to show you how to split a PDF file and save each page as its own PDF using Python.

Before we dive into tutorial, you will need to install PyPDF2 library (pip install PyPDF2).

Buy Me a Coffee? Your support is much appreciated!
PayPal Me:
Venmo: @Jie-Jenn

Source Code:

import os
from PyPDF2 import PdfFileReader, PdfFileWriter

pdf_file_path = 'howto-functional.pdf'
file_base_name = pdf_file_path.replace('.pdf', '')
output_folder_path = os.path.join(os.getcwd(), 'Output')

pdf = PdfFileReader(pdf_file_path)

for page_num in range(pdf.numPages):
    pdfWriter = PdfFileWriter()

    with open(os.path.join(output_folder_path, '{0}_Page{1}.pdf'.format(file_base_name, page_num+1)), 'wb') as f: