Failure to Print Multiple Copiee with Raw Option
Don Badrak
dbadrak at tco.census.gov
Mon Sep 15 09:10:00 PDT 2008
> Don Badrak wrote:
> > ...
> > Do I need to drop the number of copies somehow before they get passed off to the next filter or backend? I'd like for a fix by HP firmware to all of a sudden not end up getting n^2 copies if I put in the PJL code.
>
> No, as soon as you provide your filter, it is responsible for copy
> generation.
I've created this script.
### start-of-script
#!/bin/bash
# this handles the case where the backend device can accept raw PDF but
# doesn't properly print out multiple copies when using raw mode. This
# appears to be limited to the HP DesignJet 4500ps plotter series. Place
# this line in the PPD file for each printer:
#
# *cupsFilter: "application/pdf 0 pdfraw"
#
# this will send out the PJL to print out the right number of copies.
#
# filter job user title num-copies options [ filename ]
jobnumber=$1
user=$2
title=$3
copies=$4
options=$5
filename=$6
hostname=`hostname -s`
if [ $copies -gt 999 -o $copies -lt 1 ]
then
echo "INFO: copies out of range (1 .. 999), using default of 1"
copies=1
fi
# See if we have a filename on the command-line...
if test -z "$filename"; then
ifile="-"
else
ifile="$filename"
fi
echo "DEBUG: Sending PJL to set COPIES=$copies" 1>&2
printf "\e%%-12345X at PJL JOB NAME=\"${jobnumber} ${title}\"\r\n"
printf "@PJL SET COPIES = $copies\r\n"
printf "@PJL SET USERNAME = \"${user}@${hostname}\"\r\n"
printf "@PJL ENTER LANGUAGE = PDF\r\n"
echo "DEBUG: Sending PDF file $ifile" 1>&2
cat $ifile
printf "\e%%-12345X at PJL EOJ\r\n"
exit
### end-of-script
It works great! Thanks. Now, on the web interface, it even shows me the username and the job name.
There is one slight problem -- it no longer logs to the /var/log/cups/page_log when it completes. Is there something I'm missing in the script? Thanks.
Don
More information about the cups
mailing list