pdftops CUPS filter has several problems
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Poppler |
Unknown
|
Medium
|
|||
cups (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Jaunty |
Fix Released
|
High
|
Unassigned | ||
poppler (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Jaunty |
Fix Released
|
High
|
Unassigned |
Bug Description
In the beginning, 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 (bug 310575, https:/
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).
So 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 am looking into returning to Poppler, as they have only the one minor problem of the multiple page size output, which I have fixed. I have submitted the patch upstream (see https:/
Once this new Poppler versions is uploaded, we can change the pdftops filter of CUPS to use Poppler and patch it to use the new "-origpagesizes" option for the /usr/bin/pdftops call.
Changed in poppler: | |
status: | Unknown → Confirmed |
Changed in poppler: | |
status: | Confirmed → Fix Released |
tags: | added: verification-needed |
Changed in poppler (Ubuntu): | |
status: | Fix Released → Triaged |
Changed in poppler (Ubuntu Jaunty): | |
status: | Fix Committed → Triaged |
Changed in poppler (Ubuntu): | |
status: | Triaged → Fix Released |
Changed in poppler (Ubuntu Jaunty): | |
status: | Triaged → Fix Committed |
tags: |
added: verification-done removed: verification-needed |
Changed in poppler (Ubuntu Jaunty): | |
status: | Fix Committed → Fix Released |
Changed in cups (Ubuntu Jaunty): | |
status: | Fix Committed → Fix Released |
Changed in poppler: | |
importance: | Unknown → Medium |
Changed in poppler: | |
importance: | Medium → Unknown |
status: | Fix Released → Confirmed |
Changed in poppler: | |
importance: | Unknown → Medium |
Changed in poppler: | |
status: | Confirmed → Unknown |
That's more a wish than a bug, in the sense that pdftops was never ment to output different page sizes per page :D But i accept this is interesting
It is not much difficult, it would involve adding an option to PSOutputDev to tell him not to use just one page size and then output
<</PageSize [a b ] >> setpagedevice
after
%%BeginPageSetup
But at the moment i don't have any time to fix it, i'll put it in the top-ish part of the TODO but that doesn't mean it will ever be done. If someone can work on it, drop a note here.