Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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?

share|improve this question
    
What Inkscape build are you using? Transparencies and PDF export work fine for me (latest inkscape dev trunk from this PPA). Are you sure that transparencies are the real issue? Looks to me as though there are more things wrong with the PDF output. If worse comes to worst you can always export the file as a high-resolution raster and convert it to PDF with convert image filename.pdf. –  Glutanimate May 12 '13 at 13:44
    
inkscape --version gives me Inkscape 0.48.4, after first printing the warning message (inkscape:19694): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap", a bunch of times. It was installed from the default repositories in Ubuntu 13.04. As for the pdf, I suppose there might be other problems as well (the font seems off, for example), but I would guess they are ultimately related. –  Tomas Lycken May 12 '13 at 13:55
    
I think installing the latest dev build is worth a try. If you haven't used PPAs before please see here. You can always revert the changes with PPA-Purge. Those warnings you get are theming issues that shouldn't appear but nothing to worry about. –  Glutanimate May 12 '13 at 14:26
    
Just to be clear, did you apply those effects to "Sydamerika" manually or are they part of a font? –  Glutanimate May 12 '13 at 14:27
    
@Glutanimate: I wrote the text in a font in white color, and then created the color shift by creating a white and a blue rectangle, grouping them, and then applying the rectangles and the text as a mask. Except for that, I haven't done anything "effect-y" with this text. –  Tomas Lycken May 12 '13 at 17:29

3 Answers 3

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.