Clickable URLs in PDF output created by Inkscape/SVG

12

2

I guess the title pretty much describes the problem.

I'm using Inkscape to write a SVG document, and convert it to PDF to share on the web (keeping SVG as original file is safer)
I have many URLs in this document. I know internal links (clickable and not necessarily showing the whole URL on screen) don't mean a lot in SVG and Bitmap images (which are usually supposed as final output document), but they are good in PDF.

Editing output PDF file and adding links is very hard, because is PDF format is complicated and nasty (unless there is a easy to use editor program).
How can add such links the easy way (preferably in Inkscape/SVG)

saeedgnu

Posted 2013-07-19T15:46:39.177

Reputation: 267

I finally had to move all my links to a separate page that I made with LibreOffice Draw, and exported to pdf, and merged those multiple pdf files with pdftk. – saeedgnu – 2014-03-12T18:05:11.623

Answers

7

The best solution I found to have your links working in PDFs created from Inkscape would be:

  1. save from Inkscape as "Plain SVG".
  2. open in Chrome the plain SVG file.
  3. from Chrome: Print/Save as PDF.

visu-all-world

Posted 2013-07-19T15:46:39.177

Reputation: 71

That didn't work for my complicated svg. The plain svg is shown properly with Chrome, but Chrome's pdf output is a complete mess! And URL's are not clickable either. Let alone internal links are not possible this way (you need a tagging format like bbcode or html) – saeedgnu – 2014-03-12T17:52:56.893

That happens if I "Print to PDF". But if I save as pdf, the output file is shown properly with my pdf reader, but URLs are still not clickable. And text zooming does not work (it's like a bitmap image) – saeedgnu – 2014-03-12T18:00:29.230

7

Building on Király's "theory", I wrote a massively hackish python script to add hyperlinks to the generated PDF.

All the instructions on what you need and how to use it is provided in the header comment of the script. I've tested this with my cutting edge software. If you run into problem because of different inkscape/qpdf version, shoot me an email with your files and I'll see if I can help.

EDIT: I have re-written this script in Go with much better usability. Now you simply add hyperlinks to objects using "Create Link" option when right clicking, and run the svglinkify program.

Mansour

Posted 2013-07-19T15:46:39.177

Reputation: 181

1

If you are facing problem in Inkscape, you can edit your PDF file with an attached link from here: http://www.pdfescape.com/open/

user714118

Posted 2013-07-19T15:46:39.177

Reputation: 11

2Although your answer is 100% correct, it might also become 100% useless if that link is moved, changed, merged into another one or the main site just disappears... :-( Therefore, please [edit] your answer, and copy the relevant steps from the link into your answer, thereby guaranteeing your answer for 100% of the lifetime of this site! ;-) You can always leave the link in at the bottom of your answer as a source for your material... – Donald Duck – 2017-04-04T13:05:48.870

@DonaldDuck: The link points to an online tool (there are no relevant steps) – Clément – 2018-11-30T17:56:09.440

1

One (indirect) way if your links are based on text would be to go through Latex.

When exporting the PDF, tick the box "Dont include text but generate latex file". Then the coordinates of text objects will be available in the .pdf_tex file, where you will need to add manually the links. Then compile with pdflatex.

Joce

Posted 2013-07-19T15:46:39.177

Reputation: 637

In Inkscape 0.48, this option is titled "PDF+Latex: Omit text in PDF, and create LaTeX file". I don't know very much TeX, but thanks anyway :) – saeedgnu – 2014-04-02T08:46:42.850

-1

  • Right-Click on the desired object
  • Click "Create Link"
  • A Window will open .. in "href" field add your URL.
  • Save your document as SVG.
  • Open your document with Google Chrome and press Ctrl+P.
  • Right-Click on the preview of your document and click "Inspect element"
  • Copy the link in "src" field and open it with Google Chrome, the document will start download as a PDF document.

Hassan Azzam

Posted 2013-07-19T15:46:39.177

Reputation: 1

-1

Theoretically, right click on any object, and click "Create Link". Then right click again on the same object, for "Link properties" ...

Theoretically. .)

Király István

Posted 2013-07-19T15:46:39.177

Reputation: 1

I brought your theory to life. =]

– Mansour – 2015-03-06T11:17:51.663

This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post.

– Ramhound – 2015-11-20T15:42:02.720