#!/usr/bin/env texlua --*-Lua-*- -- $Id$ -- Copyright (C) 2008 Reinhard Kotucha. -- You may freely use, modify and/or distribute this file. -- Replacement for pdfopt.bat. -- Linearize PDF function fixwin (args_unix) if os.type == 'windows' then local args_win={} -- new table args_win[0]=args_unix[1] for i=1, #args_unix do args_win[i]='"'..args_unix[i]..'"' end return args_win else return args_unix end end kpse.set_program_name('pdfopt.texlua', 'pdfopt') TEXDIR=kpse.var_value('SELFAUTOPARENT') if os.type == 'windows' then os.setenv('GS_LIB', TEXDIR..'/tlpkg/tlgs/lib') os.setenv('PATH', TEXDIR..'/tlpkg/tlgs/bin;'..os.getenv('PATH')) gs='gswin32c' else gs='gs' end command={gs, '-q', '-dNODISPLAY', '-dSAFER', '-dDELAYSAFER'} files={} for i=1, #arg do if string.find(arg[i], '^-') then command[#command+1]=arg[i] else files[#files+1]=arg[i] end end command[#command+1]='--' command[#command+1]='pdfopt.ps' if #files ~= 2 then io.stderr:write('Usage: pdfopt [options] input.pdf output.pdf') os.exit(0) else for i=1, #files do command[#command+1]=files[i] end end command=fixwin(command) --[[ prepend an additional hyphen to activate this code for i=0, #command do print (command[i]) end os.exit(ret) --]] ret=os.spawn(command) os.exit(ret)