#!/usr/bin/python from sys import argv import os import getopt options, args = getopt.getopt(argv[1:], 'a:o:') if len(args) == 1: infile = os.path.abspath(args[0]) angle = 90 outfile = '' for option in options: if option[0] == '-a': angle = option[1] if option[0] == '-o': outfile = os.path.abspath(option[1]) texfile = open(os.tempnam(), 'w') texfile.write("""\\documentclass{article} \\usepackage{pdfpages} \\begin{document} \\includepdf[pages=-,fitpaper=true,angle=%s]{%s} \\end{document}""" % (angle, infile)) texfile.close() os.chdir(os.path.dirname(texfile.name)) os.spawnvp(os.P_WAIT, 'pdflatex', ['pdflatex', texfile.name]) os.remove(texfile.name) os.remove('tmp.log') os.remove('tmp.aux') os.rename('tmp.pdf', outfile) else: print 'usage: pdfrotate [-a ANGLE (degrees, default=90)] [-o OUTPUT (PDF file)] INPUT (PDF file)'