Comment 9 for bug 263049

Revision history for this message
Till Kamppeter (till-kamppeter) wrote : Re: brother mfc-7820 not working with cupsys 1.3.8

I have found out what the issue is:

We have switched the printing workflow from PostScript to PDF as standard print job format (see https://blueprints.edge.launchpad.net/ubuntu/+spec/pdf-as-standard-print-job-format). This means that jobs which reach a CUPS queue and which are not in PDF format are converted to PDF before further processing. After processing, the jobs get converted to the format needed by the printer, in case of a PostScript printer back to PostScript. See the Blueprint to know why we do this.

PostScript is not a simple vector graphics format. It is a programming language, like Perl or Python. So one can make it generating the desired print output in very different ways. This leads for example to the case that some applications output PostScript on which you cannot separate the pages so that you can re-order them for ptinting booklets or simply print only a part of the pages. This is one of the reasons why we want to use PDF as standard print job format.

Another example for using the capabilities of PostScript as a programming language is the CUPS test page. It asks the PostScript interpreter for certain data of the output device and writes the results into the output. This only works if the PostScript interpreter which renders the test page is the actual rasterizer for the printer and not a file converter which renders the PostScript into an intermediate vector graphics format. In our PDF printing workflow the test page is converted to PDF with the interpreter not knowing the resolution and the margins of the printer. Therefore the test page shows wrong margin and resolution data and it draws the black border rectangle at the wrong place. This means that the CUPS test page is completely unsuitable for the PDF printing environment. We should take it from the distro. The test page should be a scalable PDF file.