Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offer a "Print as image" option for all the printers #601

Open
pacho2 opened this issue Oct 1, 2024 · 11 comments
Open

Offer a "Print as image" option for all the printers #601

pacho2 opened this issue Oct 1, 2024 · 11 comments
Assignees

Comments

@pacho2
Copy link

pacho2 commented Oct 1, 2024

Is your feature request related to a problem? Please describe.
A problem we hit from time to time is that, for some PDFs, our printer prints wrong characters or, even, nothing at all. This problem is workarounded choosing the "Print as image" option offered by the Google Chrome PDF viewer (the same exists for Adobe Reader on other platforms). Sadly, it is not widely implemented on other PDF readers

Describe the solution you'd like
It would be nice if, under the general printer options (those allowing to choose the paper size, duplex, error policy...) an option to "Print as image" would be available.

Describe alternatives you've considered
For now I rely on Google Chrome PDF reader as a workaround.

Thanks a lot

@michaelrsweet
Copy link
Member

FWIW, CUPS will already re-send the job as raster images (PWG or Apple raster depending on the printer) if the printer reports a problem printing characters. However, if the printer doesn't detect that there are rendering issues then that won't happen...

What model printer are you using?

@pacho2
Copy link
Author

pacho2 commented Oct 3, 2024

@michaelrsweet
Copy link
Member

Hmm, they don't specify which version of PDF they support... Can you run the following command to collect the attributes reported by the printer:

ipptool --ippserver toshiba.txt PRINTER-URI get-printer-attributes.test

where "PRINTER-URI" is the URI you are using to talk to the printer. Then attach the "toshiba.txt" file that is created.

Also, can you attach a sample PDF that doesn't print correctly?

Thanks!

@pacho2
Copy link
Author

pacho2 commented Oct 18, 2024

Hello,

Sadly, I don't manage to execute the command properly:

$ ipptool --ippserver toshiba.txt socket://10.0.192.151:9100 get-printer-attributes.test
ipptool: URI required before test file.
socket://10.0.192.151:9100
Usage: ipptool [options] URI filename [ ... filenameN ]
Options:
--ippserver filename    Produce ippserver attribute file

And regarding the PDF as example, I couldn't neither recover it (as I printed many different files that day... but I will remember to attach them here if I rehit the issue)

Thanks

@michaelrsweet
Copy link
Member

OK, so I had assumed you were using the IPP Everywhere driver (this printer supports AirPrint/IPP), but as you are not I suspect you are running into an issue either with the printer driver or the cups-filters software on your system.

I am transferring this bug over to the cups-filters project as a starting point. In the meantime if you can attach the PPD file for your printer (find it in /etc/cups/ppd) that will help them investigate further.

@michaelrsweet michaelrsweet transferred this issue from OpenPrinting/cups Oct 18, 2024
@pacho2
Copy link
Author

pacho2 commented Oct 21, 2024

Generic-IPP-Everywhere-Printer.ppd.txt

Thanks. Here it's

@michaelrsweet
Copy link
Member

OK, so this is a backup/generic PPD file and not one made specifically for your printer. At the very least you should be able to do the following to get a printer-specific PPD:

lpadmin -p PRINTERNAME -E -v ipp://10.0.192.151/ipp/print -m everywhere

@pacho2
Copy link
Author

pacho2 commented Oct 22, 2024

I tried to run it:

lpadmin -p PRINTERNAME -E -v ipp://10.0.192.151:9100/ipp/print -m everywhere

It succeeded at adding a new printer... but I cannot find any updated PPD file :/

@michaelrsweet
Copy link
Member

@pacho2 Don't include the port number (9100) as IPP runs over port 631, not 9100 (which is the old JetDirect/AppSocket port)

@pacho2
Copy link
Author

pacho2 commented Oct 22, 2024

It doesn't work (maybe because in the department they have it filtered or something :S, that is probably the reason they told us to set the 9100 port)

# lpadmin -p PRINTERNAME -E -v ipp://10.0.192.151/ipp/print -m everywhere
lpadmin: Unable to connect to 10.0.192.151:631: Connection timed out

@pacho2
Copy link
Author

pacho2 commented Oct 24, 2024

lpadmin -p PRINTERNAME -E -v ipp://10.0.192.151/ipp/print -m everywhere

After running this, I see that a page is printed with the following content:

Content-Length: 175 
Content-Type: application/ipp 
Date: Thu, 24 Oct 2024 15:01:26 GMT 
Host: 10.0.192.151:9100 
User-Agent: CUPS/2.4.10 (Linux 6.6.47-gentoo; x86_64) IPP/2.0 
Expect: 100-continue  
G attributes-charset utf-8Httributes-natural-language es-esEprinter-uri!ipp  

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants