2024-02-10 20:49:26 +00:00
|
|
|
import os
|
|
|
|
import shutil
|
2024-02-10 20:52:10 +00:00
|
|
|
from PyPDF2 import PdfReader, PdfWriter
|
2024-02-10 20:49:26 +00:00
|
|
|
|
|
|
|
def split_pdf_pages(processed_folder):
|
|
|
|
if not os.path.exists(processed_folder):
|
|
|
|
os.makedirs(processed_folder)
|
|
|
|
|
|
|
|
for filename in os.listdir('.'):
|
|
|
|
if filename.endswith('.pdf'):
|
2024-02-10 20:54:04 +00:00
|
|
|
file_path = os.path.join('.', filename) # Added for clarity
|
|
|
|
with open(file_path, 'rb') as infile:
|
2024-02-10 20:52:10 +00:00
|
|
|
reader = PdfReader(infile)
|
|
|
|
num_pages = len(reader.pages)
|
2024-02-10 20:54:04 +00:00
|
|
|
|
2024-02-10 20:49:26 +00:00
|
|
|
if num_pages > 1:
|
|
|
|
for i in range(num_pages):
|
2024-02-10 20:52:10 +00:00
|
|
|
writer = PdfWriter()
|
|
|
|
writer.add_page(reader.pages[i])
|
2024-02-10 20:54:04 +00:00
|
|
|
|
2024-02-10 20:49:26 +00:00
|
|
|
split_filename = f"split_{i+1}_{filename}"
|
|
|
|
split_filepath = os.path.join(processed_folder, split_filename)
|
2024-02-10 20:54:04 +00:00
|
|
|
|
2024-02-10 20:49:26 +00:00
|
|
|
with open(split_filepath, 'wb') as outfile:
|
|
|
|
writer.write(outfile)
|
|
|
|
|
2024-02-10 20:54:04 +00:00
|
|
|
# Attempt to move the file after ensuring it's closed
|
|
|
|
shutil.move(file_path, os.path.join(processed_folder, filename))
|
2024-02-10 20:49:26 +00:00
|
|
|
|
2024-02-10 20:54:04 +00:00
|
|
|
processed_folder = 'Processed'
|
2024-02-10 20:49:26 +00:00
|
|
|
split_pdf_pages(processed_folder)
|