#!/bin/sh # # /usr/local/bin/localpdf2ps2pdf # Copyright 2008-2023 Jonas Smedegaard # # Refry PDF file. # set -e PRG="$(basename "$0")" # Default options PDF2PSOPTS="" PS2PDFOPTS="-dDownsampleColorImages=true -dColorImageResolution=150" showhelp() { cat <&2 "ERROR: $1" exit 1 } [ $# -gt 0 ] || exit1 "Input file missing" infile= outfile= pdf2psopts= pstopdfopts= while [ $# -gt 0 ]; do case $1 in -h|--help) showhelp exit 0 ;; --) shift break ;; -*) pdf2psopts="$pdf2psopts $1" shift ;; *) if [ -z "$infile" ]; then infile="$1" elif [ -z "$outfile" ]; then outfile="$1" else exit1 "Too many parameters" fi shift ;; esac done ps2pdfopts="$@" # Use defaults if not overridden outfile="${outfile:-$(basename "$infile" .pdf)_lowres.pdf}" pdf2psopts="${pdf2psopts:-$PDF2PSOPTS}" ps2pdfopts="${ps2pdfopts:-$PS2PDFOPTS}" [ ! -e "$outfile" ] || exit1 "Output file already exists" tmpfile=$(mktemp -t "$PRG.XXXXXXXXXX") || exit 1 pdf2ps $pdf2psopts "$infile" "$tmpfile" || rm "$tmpfile" ps2pdf $ps2pdfopts "$tmpfile" "$outfile" rm "$tmpfile" exit 0