Severe printing regression in Jaunty, please test fix in Karmic

Till Kamppeter till.kamppeter at
Fri Jun 12 11:23:59 BST 2009



In Intrepid, CUPS shipped a pdftops filter based on the /usr/bin/pdftops 
utility of Poppler. It produces DSC-conforming PostScript which can 
easily be processed by further filters. It also leaves text as text and 
embeds the fonts. Its problem is that it does not support documents with 
multiple page sizes. In this case it scales all pages to the size of the 
first page (Ubuntu bug 310575,

To get around that, and also in the hope to get color management working 
more quickly, I switched to Ghostscript for the pdftops filter in CUPS. 
It solved the multiple-page-size problem perfectly but caused several 
other problems.

I started with the "pswrite" output device of Ghostscript. Its output is 
also DSC-conforming, but it turns all text characters to bitmaps, 
causing huge PostScript files (bug 377011), broken text characters (bug 
362186), slow job processing (bug 289852), output files which are not 
searchable (bug 381788).

This the state of Jaunty.

After having seen all the bug reports of Jaunty users I tried the 
"ps2write" output device of Ghostscript. Its output is not 
DSC-conforming, so it can only be used in the pdftops filter when the 
PDF workflow is used, where the page manipulations are done by the 
pdftopdf filter which runs always before pdftops. In the upstream CUPS 
without filter additions incoming PDF is turned to PostScript by the 
pdftops filter and after that the pstops filter does the page management 
and this requires DSC-conforming PostScript. It actually solved the 
problems of "pswrite" producing a PostScript of reasonable size and with 
embedded fonts, but it is still not perfect, for example it produces 
code which does not run on some PostScript printers (bug 377011) and the 
text searchability is also not perfect (bug 381788).

As it turns out that Ghostscript has too many problems in its two 
PostScript output devices, I have decided to return to Poppler, as they 
have only two minor problems which I have fixed. One is the multiple 
page size output. I have submitted the patch upstream (see and also applied it 
to the Ubuntu package of Poppler. This adds a new output mode to the 
PostScript output device of Poppler which conserves the original page 
sizes and orientations. Another is the fact that ASCII85-encoded binary 
data in PDF files was not correctly copied into the PostScript files 
which I have also fixed with a simple patch 

The new Poppler package and a new CUPS package which has the pdftops 
filter switched back to Poppler are now uploaded to Karmic. Please test 
printing in Karmic, as described in my last comment of the bug report:

This way we want to assure that this change does not cause any 
regressions. If everything works fine and we get your positive answers 
and no regression reports we will issue an SRU for Jaunty consisting of 
appropriately modified Poppler and CUPS packages.

Thank you in advance for your cooperation.


More information about the ubuntu-devel mailing list