JezK
Edit File: xpdf
#!/bin/sh # Copyright (c) 2001 Alcove (Yann Dirson <yann.dirson@fr.alcove.com>) - http://www.alcove.com/ # Copyright (C) 2011 Michael Gilbert <michael.s.gilbert@gmail.com> # Copyright (C) 2011 Osamu Aoki <osamu@debian.org> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. set -e file="" many="" pages="" cmd="xpdf.real" while [ "$#" -gt "0" ]; do case "$1" in # options that take a value, in manpage order (obsolete options trailing) -g|-geometry|-rgb|-papercolor|-mattecolor|-z|-ps|-paper|-paperw|-paperh|-enc|-opw|-upw|-pagecmd|-remote|-exec|-cfg|-display|-fg|-foreground|-bg|-background|-font|-fn|-aa|-aaVector|-eol|-freetype|-t1lib) cmd="$cmd $1 "$2"" && shift ;; -title) title="$2" && shift ;; -m) shift while [ "$#" -gt "0" ]; do case "$1" in -*) break ;; *) many=$(printf "%s\n%s" "$1" "$many") ;; esac shift done break ;; -*) cmd="$cmd $1" ;; *) test -f "$1" && file="$1" && shift && pages="$@" && break || ( if [ -d "$1" ]; then echo "error: \"$1\" is a directory" && false else echo "error: \"$1\" file not found" && false fi ) ;; esac shift done if [ "$many" != "" ]; then cmd=$(echo "$cmd" | sed s/xpdf\.real/xpdf/g) printf "%s\n" "$many" | while read -r file; do test ! -f "$file" || $cmd "$file" & done else tmp=$(mktemp --suffix=.pdf) case "$file" in *.gz|*.Z|*.xz|*.lzma|*.bz2) test "$title" != "" || title="Xpdf: $file";; esac case "$file" in *.gz|*.Z) zcat "$file" > "$tmp" && exec 3< "$tmp" && file="/dev/fd/3";; *.xz) xzcat "$file" > "$tmp" && exec 3< "$tmp" && file="/dev/fd/3";; *.lzma) lzcat "$file" > "$tmp" && exec 3< "$tmp" && file="/dev/fd/3";; *.bz2) bzcat "$file" > "$tmp" && exec 3< "$tmp" && file="/dev/fd/3";; esac rm -f "$tmp" if [ "$file" = "" ]; then exec $cmd || true elif [ "$title" = "" ]; then exec $cmd "$file" $pages || true else exec $cmd -title "$title" "$file" $pages || true fi fi