Can I use iTextSharp to create a link in pdf that will allow me to launch a 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 iTextSharp, you'd create a launch action like this:
Paragraph p = new Paragraph( new Chunk( "Click to open test.txt in Notepad.") .SetAction( new PdfAction( "c:/windows/notepad.exe", "test.txt", "open", Path.Combine(Utility.ResourceText, "") ) )); document.Add(p);
Looking at the code, you immediately see a second problem: PDF is supposed to be platform dependent, but we're introducing two dependencies in this code sample:
-
in this sample we only provide a launch action for a PDF opened on Windows (one could add extra properties for other OSs).
-
we assume that the executable is present on the path we defined. That can be a huge problem if you want this PDF to work in every environment.
You'll have to talk this through with your customer to see if they can meet these extra requirements: OS and location of the executable.