How to create a link to launch an external program?

I am using iTextSharp to create PDF files. Can I use iTextSharp to create a link in pdf that will allow me to launch a program?

The users of this file will have no problem trusting this file. It is part of the functionalities they requested to launch a certain program.

Posted on StackOverflow on Feb 24, 2013 by user1019042

You are looking for a Launch action. I'm the author of the book about iText, and I usually don't talk about this functionality because it's considered being a security hazard (which you point out in your comment: the user really has to trust the PDF).

In iText 7 you'd create a launch action like this (the code can be easily converted to C#):

PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Document doc = new Document(pdfDoc);
PdfFileSpec spec = PdfFileSpec.createExternalFileSpec(pdfDoc, "test.txt", true);
PdfAction action = PdfAction.createLaunch(spec);
Paragraph p = new Paragraph(new Link("Click to open test.txt", action));
doc.add(p);
doc.close();

As you see, we’ve created a PdfFileSpec instance to add an external resource (any file/program you wish) and add it directly to the PdfAction.

Click this link if you want to see how to answer this question in iText 5.



Ready to use iText?

Try our iText 7 Library and add-ons FREE for 30 days. Test your proof of concept, and see if our solution is right for you.

Get my FREE trial
Contact

Still have questions? 

We're happy to answer your questions. Reach out to us and we'll get back to you shortly.

Contact us
Stay updated

Join 11,000+ subscribers and become an iText PDF expert by staying up to date with our new products, updates, tips, technical solutions and happenings.

Subscribe Now