How to solve unrecognized Proxy Printer capabilities

SavaPage uses the CUPS/IPP interface to retrieve proxy printer capabilities and send print jobs. Unfortunately, vendor specific PPD option keywords are generally not mapped to IPP attributes by CUPS. That’s why we do not get IPP attributes for finishings (staple, punch, fold, booklet) or collating delivered, when we ask CUPS for IPP printer capabilities. Sometimes, even common options like color or duplex printing are not recognized.

To solve mismatches between IPP and PPD, SavaPage uses so-called PPD Extension .ppde files to map PPD options, as defined in *OpenUI sections, to their IPP equivalents.

As an example, these are .ppd and .ppde snippets for Xerox AltaLink-C8000-Series as defined in our savapage-env-printers repository :

Xerox-AltaLink-C8000-Series-SavaPage.ppd :

*OpenUI *XROutputColor/Xerox Black and White: PickOne
*OrderDependency: 10 AnySetup *XROutputColor
*DefaultXROutputColor: PrintAsColor
*XROutputColor Unspecified/Printer Default: ""
*XROutputColor PrintAsColor/Off (Use Document Color): ""
*XROutputColor PrintAsGrayscale/On: "<</ProcessColorModel /DeviceGray >> setpagedevice "
*CloseUI: *XROutputColor

Xerox-AltaLink-C8000-Series-SavaPage.ppde :

*XROutputColor print-color-mode
*XROutputColor PrintAsGrayscale monochrome
*XROutputColor *PrintAsColor color

Details about .ppde files are explained in the PPD Extensions Appendix of the User Manual.

Please reply to this post if you have any questions or want to share .ppde solutions for particular .ppd files.

Hi, I’m trying to connect my Canon Pixma MG5750 to Savapage but I’m not successful. Problem: in the proxy printer list I see my printer but with the warning “Configuration needed” (see post 79 in the “Getting started with SavaPage: questions and answers” topic)

Rijkr suspected that the “media-source” of my printer is not recognized by default and pointed me to this forum post. (see post 80 in the “Getting started with SavaPage: questions and answers” topic)

I read the forum post and Appendix K. PPD Extentions. As I understand it correctly an .ppde file needs to be created for my printer. I have no idea where to begin. I downloaded the .ppd file from the Savapage server to start with. In there I can’t find anything like “media-source” or “tray”. Can somebody help me with this?

My downloaded .ppd file from /etc/cups/ppd:

*PPD-Adobe: "4.3"
*FormatVersion: "4.3"
*FileVersion: "2.3"
*LanguageVersion: English
*LanguageEncoding: ISOLatin1
*PSVersion: "(3010.000) 0"
*LanguageLevel: "3"
*FileSystem: False
*PCFileName: "ippeve.ppd"
*Manufacturer: "Canon"
*ModelName: "MG5700 series"
*Product: "(MG5700 series)"
*NickName: "MG5700 series - IPP Everywhere"
*ShortNickName: "MG5700 series - IPP Everywhere"
*ColorDevice: True
*cupsVersion: 2.3
*cupsSNMPSupplies: False
*cupsLanguages: "nl_NL"
*APSupplies: "http://238381000000.local./index.html?page=PAGE_AAP"
*cupsFilter2: "image/jpeg image/jpeg 0 -"
*cupsManualCopies: true
*cupsFilter2: "image/urf image/urf 100 -"
*OpenUI *PageSize: PickOne
*OrderDependency: 10 AnySetup *PageSize
*DefaultPageSize: A4
*PageSize 3.5x5: "<</PageSize[252 360]>>setpagedevice"
*PageSize 3.5x5.Borderless: "<</PageSize[252 360]>>setpagedevice"
*PageSize 4x6: "<</PageSize[288 432]>>setpagedevice"
*PageSize 4x6.Borderless: "<</PageSize[288 432]>>setpagedevice"
*PageSize 5x7: "<</PageSize[360 504]>>setpagedevice"
*PageSize 5x7.Borderless: "<</PageSize[360 504]>>setpagedevice"
*PageSize 8x10: "<</PageSize[576 720]>>setpagedevice"
*PageSize 8x10.Borderless: "<</PageSize[576 720]>>setpagedevice"
*PageSize A4: "<</PageSize[595.275590551181 841.889763779528]>>setpagedevice"
*PageSize A4.Borderless: "<</PageSize[595.275590551181 841.889763779528]>>setpagedevice"
*PageSize A5: "<</PageSize[419.527559055118 595.275590551181]>>setpagedevice"
*PageSize B5: "<</PageSize[515.905511811024 728.503937007874]>>setpagedevice"
*PageSize Env10: "<</PageSize[296.985826771654 684]>>setpagedevice"
*PageSize EnvDL: "<</PageSize[311.811023622047 623.622047244094]>>setpagedevice"
*PageSize Legal: "<</PageSize[612 1008]>>setpagedevice"
*PageSize Letter: "<</PageSize[612 792]>>setpagedevice"
*PageSize Letter.Borderless: "<</PageSize[612 792]>>setpagedevice"
*PageSize Postcard: "<</PageSize[283.464566929134 419.527559055118]>>setpagedevice"
*PageSize Postcard.Borderless: "<</PageSize[283.464566929134 419.527559055118]>>setpagedevice"
*CloseUI: *PageSize
*OpenUI *PageRegion: PickOne
*OrderDependency: 10 AnySetup *PageRegion
*DefaultPageRegion: A4
*PageRegion 3.5x5: "<</PageSize[252 360]>>setpagedevice"
*PageRegion 3.5x5.Borderless: "<</PageSize[252 360]>>setpagedevice"
*PageRegion 4x6: "<</PageSize[288 432]>>setpagedevice"
*PageRegion 4x6.Borderless: "<</PageSize[288 432]>>setpagedevice"
*PageRegion 5x7: "<</PageSize[360 504]>>setpagedevice"
*PageRegion 5x7.Borderless: "<</PageSize[360 504]>>setpagedevice"
*PageRegion 8x10: "<</PageSize[576 720]>>setpagedevice"
*PageRegion 8x10.Borderless: "<</PageSize[576 720]>>setpagedevice"
*PageRegion A4: "<</PageSize[595.275590551181 841.889763779528]>>setpagedevice"
*PageRegion A4.Borderless: "<</PageSize[595.275590551181 841.889763779528]>>setpagedevice"
*PageRegion A5: "<</PageSize[419.527559055118 595.275590551181]>>setpagedevice"
*PageRegion B5: "<</PageSize[515.905511811024 728.503937007874]>>setpagedevice"
*PageRegion Env10: "<</PageSize[296.985826771654 684]>>setpagedevice"
*PageRegion EnvDL: "<</PageSize[311.811023622047 623.622047244094]>>setpagedevice"
*PageRegion Legal: "<</PageSize[612 1008]>>setpagedevice"
*PageRegion Letter: "<</PageSize[612 792]>>setpagedevice"
*PageRegion Letter.Borderless: "<</PageSize[612 792]>>setpagedevice"
*PageRegion Postcard: "<</PageSize[283.464566929134 419.527559055118]>>setpagedevice"
*PageRegion Postcard.Borderless: "<</PageSize[283.464566929134 419.527559055118]>>setpagedevice"
*CloseUI: *PageRegion
*DefaultImageableArea: A4
*DefaultPaperDimension: A4
*ImageableArea 3.5x5: "9.637795275591 14.173228346457 242.362204724409 345.826771653543"
*PaperDimension 3.5x5: "252 360"
*ImageableArea 3.5x5.Borderless: "0 0 252 360"
*PaperDimension 3.5x5.Borderless: "252 360"
*ImageableArea 4x6: "9.637795275591 14.173228346457 278.362204724409 417.826771653543"
*PaperDimension 4x6: "288 432"
*ImageableArea 4x6.Borderless: "0 0 288 432"
*PaperDimension 4x6.Borderless: "288 432"
*ImageableArea 5x7: "9.637795275591 14.173228346457 350.362204724409 489.826771653543"
*PaperDimension 5x7: "360 504"
*ImageableArea 5x7.Borderless: "0 0 360 504"
*PaperDimension 5x7.Borderless: "360 504"
*ImageableArea 8x10: "9.637795275591 14.173228346457 566.362204724409 705.826771653543"
*PaperDimension 8x10: "576 720"
*ImageableArea 8x10.Borderless: "0 0 576 720"
*PaperDimension 8x10.Borderless: "576 720"
*ImageableArea A4: "9.637795275591 14.173228346457 585.637795275591 827.716535433071"
*PaperDimension A4: "595.275590551181 841.889763779528"
*ImageableArea A4.Borderless: "0 0 595.275590551181 841.889763779528"
*PaperDimension A4.Borderless: "595.275590551181 841.889763779528"
*ImageableArea A5: "9.637795275591 14.173228346457 409.889763779528 581.102362204724"
*PaperDimension A5: "419.527559055118 595.275590551181"
*ImageableArea B5: "9.637795275591 14.173228346457 506.267716535433 714.330708661417"
*PaperDimension B5: "515.905511811024 728.503937007874"
*ImageableArea Env10: "15.874015748031 92.125984251969 281.111811023622 661.322834645669"
*PaperDimension Env10: "296.985826771654 684"
*ImageableArea EnvDL: "15.874015748031 92.125984251969 295.937007874016 600.944881889764"
*PaperDimension EnvDL: "311.811023622047 623.622047244094"
*ImageableArea Legal: "18.141732283465 14.173228346457 594.141732283465 993.826771653543"
*PaperDimension Legal: "612 1008"
*ImageableArea Letter: "18.141732283465 14.173228346457 594.141732283465 777.826771653543"
*PaperDimension Letter: "612 792"
*ImageableArea Letter.Borderless: "0 0 612 792"
*PaperDimension Letter.Borderless: "612 792"
*ImageableArea Postcard: "9.637795275591 14.173228346457 273.826771653543 405.354330708661"
*PaperDimension Postcard: "283.464566929134 419.527559055118"
*ImageableArea Postcard.Borderless: "0 0 283.464566929134 419.527559055118"
*PaperDimension Postcard.Borderless: "283.464566929134 419.527559055118"
*HWMargins: "18.141732283465 92.125984251969 17.858267716535 22.677165354331"
*ParamCustomPageSize Width: 1 points 252 612
*ParamCustomPageSize Height: 2 points 360 1008
*ParamCustomPageSize WidthOffset: 3 points 0 0
*ParamCustomPageSize HeightOffset: 4 points 0 0
*ParamCustomPageSize Orientation: 5 int 0 3
*CustomPageSize True: "pop pop pop <</PageSize[5 -2 roll]/ImagingBBox null>>setpagedevice"
*OpenUI *InputSlot: PickOne
*OrderDependency: 10 AnySetup *InputSlot
*DefaultInputSlot: Main
*InputSlot Auto: "<</MediaPosition 0>>setpagedevice"
*nl_NL.InputSlot Auto/media-source.auto: ""
*InputSlot Main: "<</MediaPosition 1>>setpagedevice"
*nl_NL.InputSlot Main/media-source.main: ""
*CloseUI: *InputSlot
*OpenUI *MediaType: PickOne
*OrderDependency: 10 AnySetup *MediaType
*DefaultMediaType: Stationery
*MediaType Stationery: "<</MediaType(Stationery)>>setpagedevice"
*nl_NL.MediaType Stationery/stationery: ""
*MediaType Photographic: "<</MediaType(Photographic)>>setpagedevice"
*nl_NL.MediaType Photographic/photographic: ""
*MediaType Envelope: "<</MediaType(Envelope)>>setpagedevice"
*nl_NL.MediaType Envelope/envelope: ""
*CloseUI: *MediaType
*OpenUI *ColorModel: PickOne
*OrderDependency: 10 AnySetup *ColorModel
*nl_NL.Translation ColorModel/Color Mode: ""
*ColorModel RGB: "<</cupsColorSpace 19/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice"
*nl_NL.ColorModel RGB/Color: ""
*ColorModel Gray: "<</cupsColorSpace 18/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice"
*nl_NL.ColorModel Gray/Grayscale: ""
*DefaultColorModel: RGB
*CloseUI: *ColorModel
*OpenUI *Duplex: PickOne
*OrderDependency: 10 AnySetup *Duplex
*nl_NL.Translation Duplex/2-Sided Printing: ""
*DefaultDuplex: None
*Duplex None: "<</Duplex false>>setpagedevice"
*nl_NL.Duplex None/Off (1-Sided): ""
*Duplex DuplexNoTumble: "<</Duplex true/Tumble false>>setpagedevice"
*nl_NL.Duplex DuplexNoTumble/Long-Edge (Portrait): ""
*Duplex DuplexTumble: "<</Duplex true/Tumble true>>setpagedevice"
*nl_NL.Duplex DuplexTumble/Short-Edge (Landscape): ""
*CloseUI: *Duplex
*cupsBackSide: Rotated
*DefaultResolution: 600dpi
*OpenUI *cupsPrintQuality: PickOne
*OrderDependency: 10 AnySetup *cupsPrintQuality
*nl_NL.Translation cupsPrintQuality/Print Quality: ""
*DefaultcupsPrintQuality: Normal
*cupsPrintQuality Draft: "<</HWResolution[600 300]>>setpagedevice"
*nl_NL.cupsPrintQuality Draft/Draft: ""
*cupsPrintQuality Normal: "<</HWResolution[600 600]>>setpagedevice"
*nl_NL.cupsPrintQuality Normal/Normal: ""
*cupsPrintQuality High: "<</HWResolution[600 600]>>setpagedevice"
*nl_NL.cupsPrintQuality High/High: ""
*CloseUI: *cupsPrintQuality

@rijkr I am also facing the same issue in my server

*PPD-Adobe: “4.3”
*%%%% PPD file for Lexmark MX310 Series with CUPS.
*%%%% Created by the CUPS PPD Compiler CUPS v1.4.2.
. . .
*FormatVersion: “4.3”
*FileVersion: “1.0”
*LanguageVersion: English
*LanguageEncoding: ISOLatin1
*PCFileName: “LXMX310.PPD”
*Product: “(Lexmark MX310 Series)”
*Product: “(Lexmark MX310dn)”
*Manufacturer: “Lexmark”
*ModelName: “Lexmark MX310 Series”
*ShortNickName: “Lexmark MX310 Series”
*NickName: “Lexmark MX310 Series”
*PSVersion: “(3010.010) 20040929”
*LanguageLevel: “3”
*ColorDevice: False
*DefaultColorSpace: Gray
*FileSystem: True
*Throughput: “36”
*LandscapeOrientation: Plus90
*TTRasterizer: Type42
. . .

@remco011 I checked your PPD and found that, thanks to the *OpenUI *InputSlot section, CUPS correctly resolves IPP media-source “auto” and “main”.

However, due to a bug in SavaPage you did not see “main” as Media Source in the Edit Proxy Printer dialog: see Issue #1171.

This has now been resolved in the latest Release Candidate. Please let me know if this solves your issue.

@Gowtham Sorry, I shortened your PPD for readability :slight_smile: and used the same LXMX310.PPD from the CUPS “Add printer” dialog for testing.

I found that, thanks to the *OpenUI *InputSlot PPD section, CUPS correctly resolves IPP media-source “top”, “bottom”, “by-pass-tray” and “manual”, and that these trays are visible in SavaPage.

Can you confirm you also see these trays in your Edit Proxy Printer dialog? If so, you can just select each tray and give it a name and assign the media size.

Thanks, I’m going to test release candidate tomorrow. Will let you know the result asap

Yes i have assigned the media size in Proxy Printers still cannot able to print in windows PC

Could you please be more precise? What are you trying to achieve? What’s going wrong?

Dear @rijkr

Actually i have configured my printer in Windows Desktop through Savapage network IP while i am printing from windows client i cannot get a printout from my printer.
While i was giving test print from CUPS server the printout is coming from Printer. But while i am printing from savapage the printout is not coming i dont know where i am missing things.

I want to acheive a monitoring and dashboarding through printer servers.

Example : I am a user from windows client i am just giving a print through IPP i should get a print from my printer machine instead of installing a printer driver and configuring direct printer port

This is not how it works. Please read What is SavaPage? and How does SavaPage work?