View Issue Details

IDProjectCategoryView StatusLast Update
0000598savapage-core[All Projects] Generalpublic2016-08-01 20:32
ReporterrijkrAssigned Torijkr 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version0.9.9 
Target Version0.9.11Fixed in Version0.9.11 
Summary0000598: Add PDF to monochrome conversion before proxy printing
DescriptionIST: Sometimes PDFs get printed as color even if the IPP job instructed monochrome output.
SOLL: Add a proxy printer option to convert PDF to monochrome locally before sending it to the printer.

This issue was raised when testing the release of Smartschool print jobs from a PaperCut virtual queue. It is observed that in the process of releasing print jobs to a papercut:ipp:// physical queue, and thereby transferring held spool files to physical queues, the original IPP job options are lost and the target print queue defaults are used. So, when the printer queue defaults to "color" the job is printed as color, even when the monochrome option was set by SavaPage. This is a "feature" of PaperCut and can solved by doing client-side grayscale conversion, and configuring physical target queues in CUPS with the Local Raw Printer driver and papercut://socket:x.x.x.x URI. As an alternative we could let PaperCut do the grayscale conversion (but this does not work, and is a pending issue reported to PaperCut as of 2016-05-11).

Also see Smartschool issue 0000596 for a workaround by setting specific proxy printers for color/monochrome and simplex/duplex combinations.
TagsNo tags attached.

Relationships

related to 0000599 closedrijkr savapage-server Add option to convert PDF downloaded or sent to grayscale 
related to 0000596 closedrijkr savapage-server Set grayscale and duplex proxy printers for Smartschool print jobs 

Activities

rijkr

2015-10-07 17:41

administrator   ~0000096

Last edited: 2015-11-17 20:34

View 2 revisions

Conversion to grayscale PDF is done with command-line Ghostscript.

$ gs -sOutputFile=the-graysscale.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dPDFUseOldCMS=false \
-sColorConversionStrategy=Gray -sColorConversionStrategyForImages=Gray \
-sProcessColorModel=DeviceGray -dCompatibilityLevel=1.4 the-color.pdf < /dev/null

The CMYK result can be inspected per page with this command:

$ gs -q -o - -sDEVICE=inkcov the-graysscale.pdf
...
0.00000 0.00000 0.00000 0.32205 CMYK OK
0.00000 0.00000 0.00000 0.24543 CMYK OK
0.00000 0.00000 0.00000 0.24760 CMYK OK
0.00000 0.00000 0.00000 0.23047 CMYK OK

If K is the single component GT zero than grayscale is the case.

More complex PDFs can show pages results like this:

0.00449 0.00449 0.00449 0.26272 CMYK OK

This can be tightened during conversion to pure grayscale again with parameter: -dHaveTransparency=false (at the cost of a substantial performance penalty)

But even if "pure" B/W content like this is sent to a socket MFP printer and printed as such, it is observed that a Xerox MFP still counts all printed pages internally as color.

Issue History

Date Modified Username Field Change
2015-10-02 15:17 rijkr New Issue
2015-10-02 15:17 rijkr Status new => assigned
2015-10-02 15:17 rijkr Assigned To => rijkr
2015-10-05 13:13 rijkr Status assigned => resolved
2015-10-05 13:13 rijkr Fixed in Version => 0.9.10
2015-10-05 13:13 rijkr Resolution open => fixed
2015-10-07 17:41 rijkr Note Added: 0000096
2015-11-17 19:49 rijkr Relationship added related to 0000596
2015-11-17 19:50 rijkr Status resolved => closed
2015-11-17 19:50 rijkr Resolution fixed => won't fix
2015-11-17 19:50 rijkr Fixed in Version 0.9.10 =>
2015-11-17 19:50 rijkr Target Version 0.9.10 =>
2015-11-17 19:50 rijkr Description Updated View Revisions
2015-11-17 20:30 rijkr Relationship added related to 0000599
2015-11-17 20:34 rijkr Note Edited: 0000096 View Revisions
2016-05-23 15:53 rijkr Status closed => resolved
2016-05-23 15:53 rijkr Resolution won't fix => fixed
2016-05-23 15:53 rijkr Fixed in Version => 0.9.11
2016-05-23 15:53 rijkr Target Version => 0.9.11
2016-05-23 15:53 rijkr Description Updated View Revisions
2016-08-01 20:32 rijkr Status resolved => closed