[SUGGESTION] switching trays in printjob

Kurt Pfeifle k1pfeifle at gmx.net
Tue Sep 4 10:40:41 PDT 2007


Philipp Morger wrote:

> I try something rather simple, I like to print from OpenOffice to my 
> HPLJ4P, where the first page is from tray one and any other from tray 
> two.

I don't know how to achieve this from OpenOffice specifically... It's
been a while that I looked at the printing options of OOo on Linux,
and they may have improved their printing stuff. Or are you talking 'bout
OOo on Windows?

However, there is a way in CUPS to  set this up for *any* application
that is able to send reasonable (read: DSC-compliant) PostScript to
the printing system. See further below...

> I made all the needed settings in the document, but the switch to the 
> second tray does not happen, though I can print the whole document to 
> any of the two trays in whole.
> 
> I tried with CUPS 1.2.7 (SuSe 10.1) and CUPS 1.3.0 (Ubuntu Gutsy)
> I tried several drivers (Gutenberg, hpijs and possibly others, though 
> no PS as PS was refused by the printer with some funny abbriated 
> message)

You know, sometimes it is helpful to post "funny abbriated (?) messages"
given back by some software alongside one's posts seeking for community
support for said software...  :->>

> The printer is also shared though samba, where it is accessible though 
> "point'n'print, but Winword is also not able to change the tray within 
> a printjob.

How exactly is your procedure that you use on Windows Winword? Which ver-
sion of Windword? Which is the driver you installed on the Windows print
client?

I know for sure that previous Winword versions did support print settings
where you specified a different PaperTray/InputSlot for the first page...

> I know of at least one other printer that this CUPS installation is 
> serving, which suffers from the same error (HPLJ4650).
> 
> 
> any pointers are welcome :).

Here they come...

CUPS has a (somewhat undocumented) job option parameter called
"AP_FIRSTPAGE_InputSlot". This will very likely be able to provide
the functionality you are looking for.

You can make it the default for all jobs; try this command:

    lpadmin -p your_printer           \
            -o AP_FIRSTPAGE_InputSlot-default=foobar

(use "lpoptions -d your_printer -l | grep InputSlot" to find out what
the real InputSlot names are for your printer -- I bet "foobar" will
not be one of them ;-) .)

Above lpadmin command will store the setting in your cups config file
/etc/cups/printers.conf (thusly, it will become the default for all
users of said printer). Whoever prints from now on using a command of

    lp -d your_printername            \
       -o InputSlot=FooBATZ           \
       /path/to/jobfile

should have his first page/sheet be coming from slot "foobar" for *all*
jobs going to that printer, while the rest of sheets will be drawn
from slot "FooBATZ".

Possibly, you'll also be able to use (for job-by-job variations of the
settings) a commandline of

    lp -d yourprinter2                \
       -o AP_FIRSTPAGE_InputSlot=PF17 \
       -o InputSlot=PF16              \
       /path/to/your/jobfile

It's been quite while since I used this myself, but back then it worked.

Hope this helps.


-- 
Kurt Pfeifle
System & Network Printing Consultant ---- Linux/Unix/Windows/Samba/CUPS
Infotec Deutschland GmbH  .....................  Hedelfinger Strasse 58
A RICOH Company  ...........................  D-70327 Stuttgart/Germany




More information about the cups mailing list