#!/usr/bin/python from sys import argv import os import getopt options, args = getopt.getopt(argv[1:], 'o:') if len(args) >= 1: outfile = '' for option in options: if option[0] == '-o': outfile = os.path.abspath(option[1]) texfile = open(os.tempnam(), 'w') texfile.write("""\\documentclass{article} \\usepackage{pdfpages} \\begin{document}""") for infile in args: f = os.path.abspath(infile) texfile.write("\\includepdf[pages=-,fitpaper=true]{%s}" % f) texfile.write("\\end{document}") 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: pdfmerge [-o OUTPUT (PDF file)] INPUTs (PDF files)'