Create PDF from Inkscape SVG without destroying fonts and effects

You should upgrade your Inkscape to the PPA version Pre-0.49, my testing produced results using masking, clipping and a reference path difference:

example image showing clip mask and difference in inkscape as a pdf

To upgrade your inkscape, open up a terminal and issue the following commands:

sudo add-apt-repository ppa:inkscape.dev/trunk
sudo apt-get update
sudo apt-get install inkscape-trunk

This should remove the 0.48 version of inkscape and replace it with the pre-0.49 version you need for your pdf file.


You might also try converting your inkscape .svg file to .pdf using rsvg-convert from the librsvg2-bin package:

rsvg-convert -f pdf -o foo.pdf foo.svg

This preserved transparency in my file.


Okay, here's my two cents on a workaround for this.

I tried the previous answer using rsvg-convert, which worked fine for transparent items. Problem is now, I have an embedded image in my SVG that actually got rasterized with a very low resolution. Specifying a higher X/Y dpi for rsvg-convert didn't change that.

So I did the following, which resolved the issue:

  1. "Rasterizing" the image into a PDF: rsvg-convert -f pdf -o rasterized.pdf orig.svg
  2. Open the original image in Inkscape: inkscape orig.svg
  3. Open the rasterized image (now containing transparent shapes, but also the rasterized embedded image) in Inkscape: inkscape rasterized.pdf
  4. Ungroup all items in the latter until you get to the wrongly rasterized image
  5. Copy the embedded image from 2. into the one from 4., replacing the wrongly rasterized one
  6. Save it as PDF through Inkscape normally.

Result: Transparent shapes, and high-resolution images.


One solution I have found to solve this obvious bug, is: In Inkscape save as: EPS then epstopdf the file. Result is looking perfect