Hallo,
die Beschränkung liegt hier im Cups selbst. Der Parameter “postprocessing” ist keine Eigenschaft eines Druckers, sondern des DruckerTREIBERs. Wenn Sie also mehrere Drucker angelegt haben, die alle als Treiber den DeviceURI cups-pdf:/
benutzen, dann würde ein im Treiber (/etc/cups/cups-pdf.conf) eingetragenes Postprocessing für alle diese Drucker gelten. Eine Möglichkeit, damit umzugehen, kann es sein, daß der Postprocessing-Skript erkennt, für welchen Drucker er aufgerufen wurde. Ein kleiner Test zeigt, daß das möglich ist.
In /usr/local/bin eine Datei log_printer_props.sh schreiben (und ausführbar machen):
#!/bin/bash
# Log printer properties into a log file in /tmp.
# Note that the script is called in user context
# and must therefore write into different log files
# depending on the user.
lpp_me=`id -nu`
lpp_log=/tmp/printer_props_${lpp_me}.log
(
echo "`date` postprocessing called"
echo
echo "----- ARGS -----"
while [ -n "$1" ] ; do
echo " '$1'"
shift
done
echo "----- ENV -----"
env
echo
) >>${lpp_log} 2>&1
Dann in der cups-pdf.conf ändern:
PostProcessing /usr/local/bin/log_printer_props.sh
Danach auf die unterschiedlichen Drucker drucken und dann die Logs in /tmp durchsehen. Da sieht man, wie das Postprocessing aufgerufen wird; interessant ist das Environment. Für meinen Zweitdrucker hab ich z.B. gesehen:
PRINTER=secondary_PDF
So, und nun die Frage: hab ich das Problem richtig verstanden?
viele Grüße
Frank Greif.