9

I have an Inkscape SVG file with a few transparency effects and different layers that I want to export to a PDF file for distribution. When I use "Save as..." or "Save a copy..." and select the PDF format, all the effects are garbled:

Top: expected output. Bottom: actual output

Top: expected output. Bottom: actual output.

I don't mind flattening the image, loosing editing capabilities and whatnot in the process, since I still have the original .svg, but I can't find any options for it anyway. I'd rather avoid exporting to a rasterized format, because I want to be able to use it for printing on large paper.

When searching for solutions to this, among other things I found this thread, originally from 2006, in which the most recent answer is from 2012 and reads

6 years later.. same problem. Inkscape can't export to pdf level opacity. So sad.

Is there really no way to do this?

Tomas Aschan
  • 2,952

4 Answers4

5

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.

4

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.

Seth
  • 59,332
3

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.

J..
  • 131
  • 2
3

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