Asha
Asha

Reputation: 21

Export JSP output to a PDF on click of a button

I have created a JSP with various fields. I want to provide an option to export the page to a PDF before submit but after the user fills in the form.

How can this be achieved? I am struggling with this problem past many days and not able to get solution.

Upvotes: 2

Views: 5661

Answers (5)

Richard
Richard

Reputation: 11

Or just use AJAX to submit the form. The use clicks "Generate PDF" or whatever and an AJAX post is made to send the form data to the server and return a generated PDF. That submit can go somewhere else than the service/servlet which is processing the form data.

Upvotes: 1

Nathan Feger
Nathan Feger

Reputation: 19506

If you are trying to output a report you can look at display table: http://displaytag.sourceforge.net/1.2/. It comes with a simple servlet filter that will allow you to click a simple link and export to pdf, excel , etc.

Upvotes: 0

Pointy
Pointy

Reputation: 413757

You might want to look into the FlyingSaucer project. It's a mechanism for producing PDF files from XML documents, and in particular from a fairly strict XHTML doctype. It really works quite well, and it supports some CSS3 features for doing things like page headings, intra-document bookmarks (like links), and is generally pretty well-behaved about CSS rules. I don't think it does forms, but you could probably fake that if it's going to end up as a non-interactive document anyway.

Link: http://code.google.com/p/flying-saucer//

(If it's not clear, this'd be a server-side solution. The form would have to be posted, and your server would build the PDF and ship it back to the client.)

Upvotes: 1

BalusC
BalusC

Reputation: 1108852

I want to provide an option to export the page to a PDF before submit but after the user fills in the form.

This is not possible at the server side as the information isn't submitted to the server side yet. Your only resort is the browser capabilities and the knowledge of the user how to use them.

If you can live with changing the flow to submitting into some result page and providing an link to export the current result page to a PDF file, then combine this answer with iText.

Upvotes: 0

Milan Babuškov
Milan Babuškov

Reputation: 61148

Just use the Print option in Firefox 3.5. It has an option to print to PDF file. Alternatively, you can use PDFCreator or some other virtual printer software that writes to PDF file instead of printing on paper.

Upvotes: 0

Related Questions