blob: 3d2095d7cb8f1340bd34504c15448ba7448f01ec (
plain)
- #!/bin/sh
- #
- # /usr/local/bin/localpdf2pdfscreen
- # Copyright 2008 Jonas Smedegaard <dr@jones.dk>
- #
- # $Id: localpdf2pdfscreen,v 1.2 2008-03-17 12:53:04 jonas Exp $
- #
- # Downsize PDF file.
- #
- # TODO: Use *_lowres.pdf as default outfile
- #
- set -e
- PRG="$(basename "$0")"
- # Default options
- PDFTOPSOPTS="-paper match"
- PS2PDFOPTS="-dPDFSETTINGS=/screen"
- showhelp() {
- cat <<EOF
- Usage: $PRG INFILE [ OUTFILE ] [ pdftops opts ] [ -- ps2pdf opts ]
- If missing, OUTFILE is INFILE.pdf (ie. double pdf extension).
- Examples:
- $PRG newspaper.pdf newspaper_screenready.pdf
- EOF
- }
- exit1() {
- echo >&2 "ERROR: $1"
- exit 1
- }
- [ $# -gt 0 ] || exit1 "Input file missing"
- pdftopsopts=
- pstopdfopts=
- while [ $# -gt 0 ]; do
- case $1 in
- -h|--help)
- showhelp
- exit 0
- ;;
- --)
- shift
- break
- ;;
- -*)
- pdftopsopts="$pdftopsopts $1"
- shift
- ;;
- *)
- pools="$pools $1"
- shift
- ;;
- esac
- done
- ps2pdfopts="$@"
- # Use default options if none provided
- [ -n "pdftopsopts" ] || pdftopsopts="$PDFTOPSOPTS"
- [ -n "ps2pdfopts" ] || ps2pdfopts="$PS2PDFOPTS"
- infile="$1"
- tmpfile=$(mktemp -t "$PRG.XXXXXXXXXX") || exit 1
- outfile="${2:-$infile.pdf}"
- [ ! -e "$outfile" ] || exit1 "Output file already exists"
- pdftops $pdftopsopts "$infile" "$tmpfile"
- ps2pdf $ps2pdfopts "$tmpfile" "$outfile"
- rm "$tmpfile"
- exit 0
|