Controlling bitmap density when printing to Postscript printer

by Ture Pålsson   Last Updated May 28, 2018 08:12 AM

I have an SVG file, that uses the SVG 'mask' attribute to do some complex clipping.

I convert this file to PDF using rsvg-convert.

When I view the PDF in Preview.app, I can zoom in as far as Preview will allow without seeing any pixel artefacts. This makes me think that my clipping has survived the SVG->PDF conversion in vector form.

However, when I print the PDF (from Preview) to my HP Laserjet CP1515n printer, things get noticeably "fuzzy" along the edges. If I remove the masks, everything is razor sharp.

Using Wireshark, I captured the PostScript data actually sent to the printer. I have not analyzed it in detail, but it seems to contain bitmap data, and when rendered using Ghostscript, there are noticable pixel artefacts.

So, it seems like the PDF->PS conversion converts the masks (and possibly the masked graphic elements as well) to a bitmap. This seems reasonable, as I cannot figure out how I would express that clipping in vector form in Postscript, let alone how an automated process would do it.

What controls this conversion? Something in CUPS? Is the pixel density of generated bitmaps available as a parameter that I can tweak? There's nothing obvious in the "Print" dialogue...



Related Questions