Skip to content

Instantly share code, notes, and snippets.

@alekseypotapov-dev
Last active January 15, 2020 17:34
Show Gist options
  • Save alekseypotapov-dev/897c18ff5166b6f0b33b274afbd6894e to your computer and use it in GitHub Desktop.
Save alekseypotapov-dev/897c18ff5166b6f0b33b274afbd6894e to your computer and use it in GitHub Desktop.
Rotate all PDFs in a folder and put into another one
#!/usr/bin/env python3
import PyPDF2
import re
import sys
import os
import shutil
dir_path = os.getcwd()
rotatedDir_path = dir_path + '/rotated'
if not os.path.exists(rotatedDir_path):
os.makedirs(rotatedDir_path)
directory = os.fsencode(dir_path)
for file in os.listdir(directory):
filename = os.fsdecode(file)
if filename.endswith(".pdf"):
pdfIn = open(filename, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfIn)
pdfWriter = PyPDF2.PdfFileWriter()
for pageNum in range(pdfReader.numPages):
page = pdfReader.getPage(pageNum)
page.rotateClockwise(90) # rotate by 90 degrees
pdfWriter.addPage(page)
pdfOut = open(rotatedDir_path + '/' + filename, 'wb')
pdfWriter.write(pdfOut)
pdfOut.close()
pdfIn.close()
continue
else:
continue
@alekseypotapov-dev
Copy link
Author

alekseypotapov-dev commented Jan 15, 2020

Rotate all pages in all files in directory

#!/usr/bin/env python3
# install first PyPDF2 
# pip install PyPDF2

import PyPDF2
import re
import sys
import os
import shutil

input_dir = os.getcwd()
output_dir = input_dir + '/rotated'

if not os.path.exists(output_dir):
    os.makedirs(output_dir)

directory = os.fsencode(input_dir)

for x in os.listdir(directory):
    filename = os.fsdecode(x)
    if filename.endswith(".pdf"):
        pdf_in = open(filename, 'rb')
        pdf_reader = PyPDF2.PdfFileReader(pdf_in)
        pdf_writer = PyPDF2.PdfFileWriter()
        for pagenum in range(pdf_reader.numPages):
            page = pdf_reader.getPage(pagenum)
            page.rotateClockwise(90)
            pdf_writer.addPage(page)
        pdf_out = open(output_dir + '/' + filename, 'wb')
        pdf_writer.write(pdf_out)
        pdf_out.close()
        pdf_in.close()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment