#!/usr/bin/python from sys import argv, exit import tempfile import os import getopt options, args = getopt.gnu_getopt(argv[1:], 'a:') if len(args) == 2: infile = os.path.abspath(args[0]) outfile = os.path.abspath(args[1]) if not os.path.exists(infile): print "Error: input file '%s' does not exist" % args[0] exit(-1) angle = 90 for option in options: if option[0] == '-a': angle = option[1] if outfile == '': print "Error: no output file name given" exit(-1) tmpdir = tempfile.mkdtemp() texfile = open(os.path.join(tmpdir, 'tmp.tex'), '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.rename(os.path.join(tmpdir, 'tmp.pdf'), outfile) for f in os.listdir(tmpdir): os.unlink(f) os.removedirs(tmpdir) else: print 'usage: pdfrotate [-a ANGLE (degrees, default=90)] INPUT OUPUT'