Hallo, On Mon, 29 Apr 2002, Martin Neuditschko wrote:
On Mon, Apr 29, 2002 at 02:07:31PM +0200, Antje M. Bendrich wrote:
Martin Neuditschko schrieb am 29.04.2002 (11:18):
Ich versuche die ganze Zeit ein PDF in ein PS umzuwandeln, aber es klappt einfach nicht. [..] Ich koennte es ueber acroread direkt ausdrucken und ansehen kann ich es auch, aber ich moechte das Dokument gerne doppelseitig und mit 4 Seiten pro Seite ;-) ausdrucken und das geht leider nicht mit acroread.
Mein Lieblingsbefehl, um A5-Booklets zu drucken, ist psbook | psnup -2 | lpr -Zduplexshort -P$DRUCKER
Schon etwas aelter, aber so klappt das auch mit Druckern ohne Duplexeinheit und mit mehr als 20 Seiten... Die beiden Ausgabe- dateien schickt man dann an lpr... Wer's getestet hat kann die Ausgabe auch direkt an lpr pipen, in dem die beiden `eval echo "$OUT?"` durch eine pipe zu lpr ersetzt werden. Man beachte auch die Kommentare vor den Stellen. Hm. Koennte ich mal ueberarbeiten das Teil... ,----[ ~/bin/psbooklet.sh ] | #! /bin/bash | # (c)2000 David Haller | # | usage="Usage: psbooklet.sh DATEI AUSGABEPRAEFIX" | | if test "$#" -ne "2"; then echo "$usage"; exit 1; fi | INFILE="$1" | OUTFILE="$2" | if test "x$INFILE" = "x-"; then | INFILE="/tmp/psbooklet_infile.ps"; | cat /dev/stdin > "$INFILE"; | fi | if test "x$OUTFILE" = "x-"; then | OUTE=""; OUTO="" | else | OUTE='${OUTFILE}-${i}-even.ps' | OUTO='${OUTFILE}-${i}-odd.ps' | fi | if ! test -r "$INFILE"; then echo "$usage"; exit 1; fi | | SIGN=20 # ergibt "20 mod 4" = 5 Blaetter zum Falten und heften | | # Das folgende _scheint_ zu tun... | PAGES=$(grep '%%Pages:' $INFILE | head -1 | sed 's/%%Pages: //') | | TMP="/tmp/psbooklet$$.ps" | | i=1 | while test $[(i-1) * SIGN] -le $PAGES | do | START="$[($i-1) * $SIGN + 1]" | END="$[$i * $SIGN]" | psselect -p"$START-$END" $INFILE | psbook | psnup -2 > $TMP | # Jetzt sollten in $TMP die passend sortierten Seiten | # von 1 bis $SIGN bzw. (i-1) * $SIGN +1 bis i * $SIGN enthalten | # sein. Also beim ersten Schleifendurchlauf die Seiten 1-20 | # als 20,1; 2,19; 18,3; 4,17; 16,5; 6,15; 14,7; 8,13; 12,9; 10,11 | psselect -e "$TMP" `eval echo "$OUTE"` | # gerade Seiten drucken (d.h. 2,19;4,17...) | # je nach Drucker vertauschen, ggfs. ein "-r" einfuegen! | psselect -o "$TMP" `eval echo "$OUTO"` | # ungerade Seiten (d.h. 20,1; 18,3...) | i=$[i+1] | # Und ab zum naechsten Stapel `a "$SIGN" Seiten... ;) | done | # und aufraeumen: | rm $TMP | if test "x$1" = "x-" && test "x$INFILE" = "x/tmp/psbooklet_infile.ps" | then | test -f "$INFILE" && rm "$INFILE"; | fi `----
Ich habe vorhin herausgefunden, dass pdf2ps das pdf nicht umwandeln konnte, aber mit pdftops funktioniert es.
pdftops wollte ich auch vorschlagen (und "in Datei drucken" klappt auch ganz gut). Generell gibt's bei PDF und PS oft jew. 2 Tools, die das selbe machen, aber eines davon ist jew. _deutlich_ robuster / besser (gilt fuer *{to,2}{pdf,ps} und fuer {pdf,ps}{2,to}*). 'convert' erzeugt z.B. grausliches EPS (aus gif, jpg, tiff usw.). Die Spezialisten (und gif2epsn(? gif2ps?), jpeg2ps und tiff2ps) erzeugen wesentlich kleineren und besseren EPS code (da die Bilder mind. bei jpeg und tiff nicht neu komprimiert werden). ghostscript sollte aber schon in einer Version groesser 5 installiert sein. -dnh -- 2 is a really odd prime...