How to create a link to launch an external 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 How to create a link to launch an external program? if you want to see how to answer this question in iText 5.