werkzeugprofi
06-11-2006, 18:34
Hallo Zusammen,
wir wollen mit dem Script -> smbprngenpdf <- via Samba PDF Files erzeugen. Wenn wir das aus einer Windows-Anwendung machen, klappt das auch prima.
Hier folgt der Auszug aus Syslog:
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 10 160 s:<smbprn.00000888.0zfJ3A> J:<Testseite_root> c:<1> z:<118409> u:<root>
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 5 176 u:<root> s:<smbprn.00000888.0zfJ3A> documentdestdir:</mnt/samba/public/temp/spool>
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 7 189 j:<Testseite_root> documentname_1:<Testseite_root>
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 7 205 documentname:<Testseite_root>
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 0 235 keep intermediate PostScript file
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 3 242 s:<smbprn.00000888.0zfJ3A> not removed
Die Debugzeile zeigt, dass der JOB_NAME richtigerweise "Testseite_Root" lautet.
Wenn wir aber via LPT Zuordnung drucken, bekommt das erzeugt PDF File keinen Namen.
Hier folgen dazu die SYS-Log Zeilen:
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 10 160 s:<smbprn.00000894.2gLyVq> J:<Remote Downlevel Document_root> c:<0> z:<2220> u:<root>
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 5 176 u:<root> s:<smbprn.00000894.2gLyVq> documentdestdir:</mnt/samba/public/temp/spool>
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 7 198 j:<Remote Downlevel Document_root> documentname_2:<>
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 7 205 documentname:<>
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 0 235 keep intermediate PostScript file
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 3 242 s:<smbprn.00000894.2gLyVq> not removed
Wie man sehen kann, wird hier zwar der JOB_NAME mit "Remote Downlevel Document_root" angegeben, aber nach Gestaltung des Dokument-Names durch die unten aufgeführte Routine ist er leer.
Meine Nachforschungen haben nun ergeben, dass die Zeile
schnipp...
if [ ${JOB_NAME} ]; then
... schnipp
in diesem Fall immer false ergibt... Warum das?
Hier folgt die Routine:
schnipp...
if [ ${JOB_NAME} ]; then
echo ${JOB_NAME} | egrep -i "^[A-Za-z0-9_]*://" && \
DOCUMENT_NAME=${JOB_NAME} || \
DOCUMENT_NAME=${JOB_NAME%.*}
debug 7 "${LINENO} j:<${JOB_NAME}> documentname_1:<${DOCUMENT_NAME}>"
else
DOCUMENT_NAME=$( egrep -i "^%%Title: " ${SPOOL_FILE_NAME} | \
head -n 1 | \
sed -e 's/^%%Title: //g' \
-e 's/^(//g' \
-e 's/\(.*\)\..*/\1/g' | \
tr -d "\r\n")
DOCUMENT_NAME=$( echo -e -n ${DOCUMENT_NAME})
debug 7 "${LINENO} j:<${JOB_NAME}> documentname_2:<${DOCUMENT_NAME}>"
# debug 7 "${LINENO} documentname2:<${DOCUMENT_NAME}>"
fi
...schnipp
Hat jemand eine Idee?
Kann if evtl. keine Leerzeichen in der Variablen bearbeiten?
Bin für jeden Tip dankbar!
Gruss
Rainer
wir wollen mit dem Script -> smbprngenpdf <- via Samba PDF Files erzeugen. Wenn wir das aus einer Windows-Anwendung machen, klappt das auch prima.
Hier folgt der Auszug aus Syslog:
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 10 160 s:<smbprn.00000888.0zfJ3A> J:<Testseite_root> c:<1> z:<118409> u:<root>
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 5 176 u:<root> s:<smbprn.00000888.0zfJ3A> documentdestdir:</mnt/samba/public/temp/spool>
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 7 189 j:<Testseite_root> documentname_1:<Testseite_root>
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 7 205 documentname:<Testseite_root>
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 0 235 keep intermediate PostScript file
Nov 6 18:40:51 FsGh1Lx smbprngenpdf: 3 242 s:<smbprn.00000888.0zfJ3A> not removed
Die Debugzeile zeigt, dass der JOB_NAME richtigerweise "Testseite_Root" lautet.
Wenn wir aber via LPT Zuordnung drucken, bekommt das erzeugt PDF File keinen Namen.
Hier folgen dazu die SYS-Log Zeilen:
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 10 160 s:<smbprn.00000894.2gLyVq> J:<Remote Downlevel Document_root> c:<0> z:<2220> u:<root>
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 5 176 u:<root> s:<smbprn.00000894.2gLyVq> documentdestdir:</mnt/samba/public/temp/spool>
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 7 198 j:<Remote Downlevel Document_root> documentname_2:<>
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 7 205 documentname:<>
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 0 235 keep intermediate PostScript file
Nov 6 18:41:07 FsGh1Lx smbprngenpdf: 3 242 s:<smbprn.00000894.2gLyVq> not removed
Wie man sehen kann, wird hier zwar der JOB_NAME mit "Remote Downlevel Document_root" angegeben, aber nach Gestaltung des Dokument-Names durch die unten aufgeführte Routine ist er leer.
Meine Nachforschungen haben nun ergeben, dass die Zeile
schnipp...
if [ ${JOB_NAME} ]; then
... schnipp
in diesem Fall immer false ergibt... Warum das?
Hier folgt die Routine:
schnipp...
if [ ${JOB_NAME} ]; then
echo ${JOB_NAME} | egrep -i "^[A-Za-z0-9_]*://" && \
DOCUMENT_NAME=${JOB_NAME} || \
DOCUMENT_NAME=${JOB_NAME%.*}
debug 7 "${LINENO} j:<${JOB_NAME}> documentname_1:<${DOCUMENT_NAME}>"
else
DOCUMENT_NAME=$( egrep -i "^%%Title: " ${SPOOL_FILE_NAME} | \
head -n 1 | \
sed -e 's/^%%Title: //g' \
-e 's/^(//g' \
-e 's/\(.*\)\..*/\1/g' | \
tr -d "\r\n")
DOCUMENT_NAME=$( echo -e -n ${DOCUMENT_NAME})
debug 7 "${LINENO} j:<${JOB_NAME}> documentname_2:<${DOCUMENT_NAME}>"
# debug 7 "${LINENO} documentname2:<${DOCUMENT_NAME}>"
fi
...schnipp
Hat jemand eine Idee?
Kann if evtl. keine Leerzeichen in der Variablen bearbeiten?
Bin für jeden Tip dankbar!
Gruss
Rainer