Skip to content

When printing with driverless, the “print-content-optimize” setting does not work #60

Open

Description

@szlt5

Describe the bug
When printing with driverless, the “print-content-optimize” setting does not work

To Reproduce
Steps to reproduce the behavior:

  1. Add a printer "fooA" in the legacy-printer-app
  2. Add a driverless for the "fooA"
  3. Open any document by evnice and print the doucment with the "print-content-optimize" = "text"
  4. PAPPL cannot receive the "print-content-optimize" value.

Expected behavior
PAPPL can receive the value of "print-content-optimize".

System Information:

  • OS: [Ubuntu24.04]
  • Version of CUPS, libcupsfilters, ...
    CUPS: 2.4.7
    libcupsfilters: 2.0.0
    PAPPL: 1.4.9

Additional context

  1. The "print-content-optimize" option generated by driverless is as follows
*OpenUI *print-content-optimize/Print Optimization: PickOne
*OrderDependency: 10 AnySetup *print-content-optimize
*Defaultprint-content-optimize: auto
*print-content-optimize auto/Automatic: ""
*print-content-optimize graphic/Graphics: ""
*print-content-optimize photo/Photo: ""
*print-content-optimize text-and-graphic/Text and Graphics: ""
*print-content-optimize text/Text: ""
*CloseUI: *print-content-optimize
  1. Everywhere does not generate the "print-content-optimize" option.
  2. "print-content-optimize" setting is filtered out when printing via ipp-backend.https://github.com/OpenPrinting/cups/blob/c83115cc35d6ec865a405260f0c61d372804be4e/cups/ppd-cache.c#L145

Activity

  1. szlt5 commented on Jul 25, 2025

    @szlt5
    Author

    @tillkamppeter What is the purpose of attribute “print-content-optimize”, and which fitler should handle this attribute?
    Everywhere does not generate this attribute, and ipp-backend filters it out during printing, so is it possible to consider removing this attribute from driverless?

  2. michaelrsweet commented on Jul 25, 2025

    @michaelrsweet
    Member

    @szlt5 "print-content-optimize" (defined in PWG 5100.7) is a hint to the printer about the type of content being printed. Not all printers support this attribute, but we could certainly add passthrough support for this attribute in CUPS 2.5 and add it to the everywhere PPD generator.

  3. tillkamppeter commented on Jul 25, 2025

    @tillkamppeter
    Member

    I also use print-content-optimize in the retro-fitting Printer Applications. They use the ppd-cache.c of libppd where I have added an algorithm which sets certain PPD options of the printer drivers according to the setting of the print-content-optimize option (and also according to the settings of print-quality and print-color-mode). This way legacy printer drivers can be easily controlled with these 3 standard IPP options and so also by clients which only support standard IPP options in their print dialogs and users do not know about cryptic native options of these drivers. This way one can also quickly obtain good results with drivers which have tons of options, like Gutenprint.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions