Sanjay Jain
Sanjay Jain

Reputation: 3587

GWT:How to generate pdf save/open window?

I am using GWT2.4 version in my application.In this I application I have created Form using GWT control (like textbox,textaera).

I have also created preview of form.In that preview I have button of pdf generation. Now I want to create behavior to deal with pdf link same as browsers(Mozilla/chrome). For example in Mozilla on click of pdf link it asks for either save or open in a pop up window.

While debugging I found a jar name iText which can be used to create pdf, I want to implement browsers behavior in this also. Please help me out. Thanks in advance.

Upvotes: 2

Views: 2145

Answers (1)

denu
denu

Reputation: 2433

Read file contents into byte array.

Then do request for servlet or service, for eg. this way:

Window.Location.replace("rest/downloadPdf");

That Service should return Response with the right content type:

@Path("downloadPdf")
@GET
@Produces({"application/pdf"})
@Consumes(MediaType.TEXT_PLAIN)
public Response downloadPdf() throws Exception {    
    byte[] bytes = getYourPDFContents();    
    return Response
            .ok(bytes, MediaType.APPLICATION_OCTET_STREAM)
            .header("Content-Disposition", "attachment; filename=\"yourFile.pdf\"")
            .build();
}

Browser will then show save as dialog.

That's example of Service, you must include Jersey library into your project to be able to use method like I've wrote above .

Upvotes: 2

Related Questions