#!/bin/rc # pdf2ps [-e] [gs-options] [input.pdf [output.ps]] - generate (e)ps from pdf rfork e fn usage { echo 'usage: pdf2ps [-e] [gs-options] [input.pdf [output.ps]]' >[1=2] exit usage } outdev=pswrite fin=/fd/0 fout=/fd/1 lang=(-'dLanguageLevel=2') opt=() while(! ~ $#* 0 && ~ $1 -* && ! ~ $1 - --){ if(~ $1 '-dLanguageLevel='*) lang=() if not if(~ '-?' $1) usage if(~ $1 -e) outdev=epswrite if not opt=($opt $1) shift } if(~ $1 --) shift switch($#*){ case 0 ; case 1 fin=$1 case 2 fin=$1 fout=$2 case * usage } if(~ $fin -) fin=/fd/0 if(~ $fout -) fout=/fd/1 # Doing an inital `save' helps keep fonts from being flushed between # pages. We have to include the options twice because -I only takes # effect if it appears before other options. exec gs $opt -dSAFER -dNOPAUSE -dBATCH -q -s'DEVICE='$outdev $opt $lang \ -s'OutputFile=-' -c save pop -f $fin >$fout