27 lines
620 B
Bash
27 lines
620 B
Bash
|
|
#!/bin/bash
|
||
|
|
#shrinkpdf - resize pdf to smaller size. Warning: if no second file name is provided, the default behavior is to overwrite the original pdf
|
||
|
|
# usage:
|
||
|
|
# shrinkpdf.sh large.pdf
|
||
|
|
# shrinkpdf.sh large.pdf small.pdf
|
||
|
|
# dependencies:
|
||
|
|
# ps2pdf from Ghostscript
|
||
|
|
# mktemp from GNU Coreutils
|
||
|
|
|
||
|
|
#Setup defaults
|
||
|
|
fn=$1
|
||
|
|
fn2=$2
|
||
|
|
set -e #exit if an error
|
||
|
|
|
||
|
|
#decide whether to use a provided new file name or too write over the original filename
|
||
|
|
if [ -z "$fn2" ]; then
|
||
|
|
#clean up
|
||
|
|
tmpName=$(mktemp $fn.XXXXXXX)
|
||
|
|
ps2pdf $fn $tmpName
|
||
|
|
#echo $tmpName
|
||
|
|
rm $fn
|
||
|
|
mv $tmpName $fn
|
||
|
|
chmod u=rw,go=r $fn
|
||
|
|
else
|
||
|
|
ps2pdf $fn $fn2
|
||
|
|
fi
|