#!/usr/bin/perl -s use strict; use warnings; our ($o, $even, $odd, $all); my $output = $o || "out.pdf"; my $tmp = "_${$}_"; $even ||= "0cm 0cm"; $odd ||= "0cm 0cm"; if ($all) { $even = $odd = $all; } my $file = shift @ARGV; my $info = `pdfinfo $file|grep Pages`; $info =~ m!(\d+)!; my $nrPages = $1; open TEX, ">$tmp.tex" or die "Can't create temporary files\n"; print TEX texheader(); for my $p (1..$nrPages) { if ($p % 2 == 0) { ## Even print TEX "\\includepdf[offset=$even,pages=$p]{$file}\n"; } else { ## Odd print TEX "\\includepdf[offset=$odd,pages=$p]{$file}\n"; } } print TEX "\\end{document}\n"; close TEX; `pdflatex -interaction=batchmode $tmp.tex`; `mv $tmp.pdf $output`; for (<$tmp*>) { print "unlinking $_\n"; unlink $_; } sub texheader { return <<'EOT'; \documentclass[a4paper]{article} \usepackage{pdfpages} \begin{document} EOT }