Closed xiaowen581 closed 6 months ago
OK, in this case the backend should be sending all of the print options to the other end. Can you attach the /var/log/cups/error_log file to this issue showing a sample job that isn't getting printed correctly?
Thanks!
Thanks for your quick reply. Here is the error_log, [Job 86] is this case. Please feel free to let me know if further info needed. P.S. I haven't filter the cupsdCleanJobs log because it seems abnormal and want to report it by the way :) error_log_for_upload.txt
OK, thanks. So we are in the "send only IPP attributes" mode but the _cupsConvertOptions
function isn't handling "print-scaling". Will come up with a fix.
Fix pushed to master; should apply cleanly to 2.4.x...
[master 3c2f0868c] Fix print-scaling option support for IPP printers (Issue #862)
Is this means the CUPS-specific options but can not be Converted to standard IPP attributes(or not supported by printer) can not be used? ie.g. “position”. For my case, let "everywhere" use cup-filters may be a better choice...
"imagetopdf" accepts the following CUPS standard options; fitplot mirror PageSize page-left, page-right, page-bottom, page-top OutputOrder Collate sides cupsEvenDuplex position scaling ppi natural-scaling landscape orientation-requested
Further more, since CUPS v3 will no longer use cups-filters, is this means “position” will no longer be supported?
CUPS 3.x has a vastly changed architecture (what we call the New Architecture for printing) being all-IPP, only supporting driverless IPP printers and no PPD files and classic CUPS drivers any more. It will not use external filters any more and so will not need this package. https://github.com/OpenPrinting/cups-filters/blob/master/README.md
@xiaowen581 Aside from the standard IPP options, most of those image filter options have been deprecated a long time. And they are used to format the image for the page that is sent to the printer.
Describe the bug When using some printers added by "everywhere "( Ricoh IM 4000, Epson L8160 etc. ), print-scaling not works. ( not sure others printer-specific option works or not. )
To Reproduce Steps to reproduce the behavior:
lpadmin -p ricoh_everywhere_lpadmin -m everywhere -v ipp://[IPADDR]/ipp/print -E
lp -d ricoh_everywhere_lpadmin -o print-scaling=none -o sides=two-sided-long-edge /path/to/jpeg
Expected behavior print-scaling should works.
System Information:
Information for Ricoh IM 4000
cupsFilter2 in ppd created by "-m everywhere": cupsFilter2: "image/jpeg image/jpeg 0 -" cupsFilter2: "application/vnd.cups-pdf application/pdf 10 -" *cupsFilter2: "image/urf image/urf 100 -"
filters used when printing (no cups-filters was used): [Job 86] 2 filters for job: [Job 86] - (image/jpeg to printer/ricoh_everywhere_lpadmin/image/jpeg, cost 0) [Job 86] - (printer/ricoh_everywhere_lpadmin/image/jpeg to printer/ricoh_everywhere_lpadmin, cost 0) [Job 86] job-sheets=none,none
argv[5] passed to filters:
[Job 86] argv[5]="finishings=3 number-up=1 print-color-mode=monochrome print-scaling=none job-uuid=urn:uuid:13ffc524b-3154-6f97-99ae10c9e589 job-originating-host-name=localhost date-time-at-creation= date-time-at-processing= time-at-creation=1704875645 timeprocessing=1704875645 document-name-supplied=text_demo.jpeg ColorModel=Gray cupsPrintQuality=Normal"
argv[14] passed to IPP backend
argv[14] = "finishings=3 number-up=1 print-color-mode=monochrome print-scaling=none job-uuid=urn:uuid:13ffcd94-524b-3154-6f97-99ae10c9e589 job-originating-host-name=localhost date-time-at-creation= date-time-at-processing= time-at-creation=1704875645 time-at-processing=1704875645 document-name-supplied=text_demo.jpeg ColorModel=Gray cupsPrintQuality=Normal"
Create-Job ipp packet send to printer: It seems that "sides" was send to printer, but "print-scaling" wasn't.![image](https://github.com/OpenPrinting/cups/assets/31822034/d931171c-31a1-4c88-9817-e0f310b225a4)
result of "ipptool -tv ipp://XXX get-printer-attributes.test" It seems that "print-scaling" was supported by printer and "auto/auto-fit/fill/fit/none" is usable. get-printer-attributes-result.zip
Additional context
*cupsFilter2: "image/urf image/urf 100 -"
and the imagetoXXX filters will be used, then "print-scaling" will be handled by imagetoXXX filters.*cupsFilter2: "image/urf image/urf 0 -" *cupsFilter2: "image/jpeg image/jpeg 0 -"
My Question