2007年11月15日木曜日

LNCSの原稿の拡大

Changing PDF Margins With The pdfpages Packageにインスパイヤされて, LNCSの小さい原稿をA4一杯にするrubyスクリプトを書いてみた. パラメータは適当に試行錯誤してみてください.

#!/usr/local/bin/ruby
# pdf-rescale.rb [infile] [outfile] [scale=1.4] [offset=0]
#

def usage
exit
end

usage if ARGV.size < 2

infile = ARGV[0]
outfile = ARGV[1]
scale = 1.2

scale = ARGV[2].to_f if ARGV.size > 2
offset = 0
offset = ARGV[3].to_i if ARGV.size > 3

tmpfile='_pdf-rescale_'

latex=<<"EOS"
\\documentclass[twoside]{article}

\\usepackage{a4wide,pdfpages}
\\begin{document}
\\includepdf[pages=-,scale=#{scale},offset=0 #{offset}]{#{infile}}

\\end{document}
EOS

f = File.open(tmpfile+'.tex','w')

f.puts(latex)
f.close

system("pdflatex #{tmpfile}.tex > pdf-rescale.log")
system("pdftops #{tmpfile}.pdf #{tmpfile}.ps")

system("ps2pdf #{tmpfile}.ps #{outfile}")
system("rm #{tmpfile}*")

0 件のコメント: