Skip to content

print-scaling not work when using everywhere  #862

@xiaowen581

Description

@xiaowen581

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:

  1. add printer:
    lpadmin -p ricoh_everywhere_lpadmin -m everywhere -v ipp://[IPADDR]/ipp/print -E
  2. print:
    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:

  • CUPS version : 2.4.2
  • CUPS-FILTERS version : 1.28.11

Information for Ricoh IM 4000

  1. 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 -"

  2. 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

  3. 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"

  4. 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"

  5. Create-Job ipp packet send to printer:
    It seems that "sides" was send to printer, but "print-scaling" wasn't.
    image

  6. 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

  1. When using a brother printer, the cupsFilter2 definition in ppd file is
    *cupsFilter2: "image/urf image/urf 100 -"
    and the imagetoXXX filters will be used, then "print-scaling" will be handled by imagetoXXX filters.
  2. I also tried the ricoh printer by:
    a. cups2.4.7+cups-filters1.28.17+"lpadmin -m everywhere"
    b. cups2.4.7+cups-filters1.28.17+"lpadmin -m driverless:XXX"
    c. cups2.4.7+cups-filters2.0.0+"lpadmin -m everywhere"
    d. cups2.4.7+cups-filters2.0.0+"lpadmin -m driverless:XXX"
    only "d" pattern use imagetoXXX filters and "print-scaling" works expectedly. BTW, the cupsFilter2 definition in "d" pattern's ppd file is:
    *cupsFilter2: "image/urf image/urf 0 -" *cupsFilter2: "image/jpeg image/jpeg 0 -"

** My Question**

  1. Is "-m driverless:XXX" better than "-m everywhere", and should I use "driverless" as much as possible instead of "everywhere"?
  2. Is "cups2.4.7+cups-filters2.0.0+"lpadmin -m driverless:XXX"" the only&right way to solve this issue?
  3. IIUC, if the printer supports print-scaling, it should be work if send "print-scaling: none" to the printer directly in "job-attributes-tag" by "Create-Job" IPP packet, isn't it?
  4. Is the usage "lp -o print-scaling=none XXX" correct? I'm not sure because I can't find it from the follow page. If it's not correct, what's the right way to print an image without scaling?
    https://www.cups.org/doc/options.html
  5. Is the usage "lp -o print-scaling=none -o position=top-left" correct? (emmm... I have submitted an issue in cups-filters, but not quite sure whether the usage is correct...)
    position with print-scaling does not work expectedly cups-filters#568

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions