Guest User

Untitled

a guest
Aug 17th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. # Rotate a pdf file
  2. import os
  3. from tempfile import NamedTemporaryFile
  4. try:
  5. from PyPDF3 import PdfFileReader, PdfFileWriter
  6. except ImportError:
  7. from PyPDF2 import PdfFileReader, PdfFileWriter
  8.  
  9.  
  10. def add_suffix(file_path, suffix, sep):
  11. split = os.path.basename(file_path).rsplit('.', 1)
  12. return os.path.join(os.path.dirname(file_path), split[0] + sep + suffix + '.' + split[1])
  13.  
  14.  
  15. def rotate(file_name, rotate, suffix='rotated', tempdir=None):
  16. """Rotate PDF by increments of 90 degrees."""
  17. # Set output file name
  18. if tempdir:
  19. outfn = NamedTemporaryFile(suffix='.pdf', dir=tempdir, delete=False).name
  20. elif suffix:
  21. outfn = os.path.join(os.path.dirname(file_name), add_suffix(file_name, suffix))
  22. else:
  23. outfn = NamedTemporaryFile(suffix='.pdf').name
  24.  
  25. with open(file_name, 'rb') as pdf_in:
  26. pdf_writer = PdfFileWriter()
  27. pdf_reader = PdfFileReader(pdf_in)
  28. for pagenum in range(pdf_reader.numPages):
  29. page = pdf_reader.getPage(pagenum)
  30. page.rotateClockwise(rotate)
  31. pdf_writer.addPage(page)
  32.  
  33. with open(outfn, 'wb') as pdf_out:
  34. pdf_writer.write(pdf_out)
  35. return outfn
  36.  
  37.  
  38. def main():
  39. pdf = 'your/path/to/doc.pdf'
  40. r = 90
  41. rotate(pdf, r)
  42.  
  43.  
  44. if __name__ == '__main__':
  45. main()
Add Comment
Please, Sign In to add comment