How to create a JavaScript action to open the attachments panel?

Is there an action which opens the attachments panel? Not right away, but when the user presses some text?

31st May 2016
admin-marketing

Is there an action which opens the attachments panel? Not right away, but when the user presses some text?

I know the writer.setViewerPreferences(PdfWriter.PageModeUseAttachments) but I don't want it to open right away.

Posted on StackOverflow on Sep 12, 2012 by Michael A

This can be done using a JavaScript action. Use the following code in iText 7:

public void createPdf(String dest) throws IOException {
    PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
    Document doc = new Document(pdfDoc);
    PdfAction action = PdfAction.createJavaScript("app.execMenuItem('ShowHideFileAttachment');");
    Link link = new Link("Show / Hide attachment panel", action);
    Paragraph paragraph = new Paragraph(link);
    doc.add(paragraph);
    doc.close();
}

Note that this won't work on all viewers (app = Adobe Reader) and it won't work if people disable Javascript.

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


Share this article

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