[Printing-architecture] controlling media size / paper tray selection when printing to a class

Gary Dale <[email protected]> Tue, 13 Dec 2022 21:40:08 -0500
Newsgroups dev.linux.lists.printing-architecture
Message-ID <[email protected]>
I'm running Debian/Bookworm on an AMD64 system.

I've got a script that prints to class queue - "photo" - which has 3 
actual photo printers in it. The printers are all different except that 
they are made by Epson. On is an old R300, the second is an XP-820 and 
the third is an XP-6100.

I have a script that controls a camera to take and download a picture 
then rotate and crop it before sending it to the printer. This worked 
fine until I added the third printer and bought a new laptop.

The old R300 uses a CUPS+Gutenprint driver while the XP-820 used the 
Epson Inkjet Printer Driver (ESC/P-R) for Linux - which somehow survived 
upgrading over the years. However when I installed Linux on the new 
laptop, I had to install Debian/Bookworm - Debian/Bullseye had too many 
issues. However I've got the CUPS+Gutenprint driver now because the 
Epson drivers wouldn't install. For some reason photos printed with the 
new driver are distinctly yellowy.

The real problem however is the XP-6100, which doesn't have a Linux 
driver per se so I installed it as an ipps printer. It prints a 
beautiful test page on Letter and 4x6.borderless photo paper. However 
when I print a photo to it, it insists on printing on letter size paper 
- scaling the photo up to file the page.

The CUPS default options are 4x6.borderless glossy photo paper printing 
cropped to fit. However, when I send a photo to it using

     lpr -P photo <photo name>.jpeg

which works on the other two printers, I get letter-size output. Even if 
I remove the paper from the letter-size tray, it still wants to print 
from it.

I thought of adding a paper size definition to the lpr command but the 
first two printers have a 4x6 size for borderless printing while the 
XP-6100 uses 4x6.Borderless - the 4x6 size has a border. That would mean 
I didn't get the same output from all three printers.

Can anyone suggest a way I can get all three printers to print the same?