#!/bin/bash # # schps2pdf - Generate PDF files from Eeschema Postscript # # Written 2010 by Werner Almesberger # Copyright 2010 Werner Almesberger # # 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. # usage() { cat <&2 usage: $0 [options] [-o file.pdf] [file.ps ...] -t prefix make a table of content. Remove prefix from file names. -T title make a table of content using the specified title. Each sheet needs one -T option. EOF exit 1 } toc=false out=- while true; do case "$1" in -o) [ -z "$2" ] && usage out=$2 shift 2;; -t) [ -z "$2" ] && usage toc=true prefix="$2" shift 2;; -T) [ -z "$2" ] && usage toc=true titles="$titles \"$2\"" shift 2;; -*) usage;; *) break;; esac done in=${1:--} shift eval gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=\""$out\"" -f \ `export i=1; for n in "$in" "$@"; do \ i=\`expr $i + 1\`; echo "<(sheet=\`basename \"$n\" .ps\`; set x $titles; i=\`expr $i + 1\`; eval t='\\$$i'; $toc && echo '[ /Title ('\"\\${t:-\\${sheet#$prefix}}\"') /OUT pdfmark'; cat \"$n\";)"; done`