For itext just do a like to like a jsp page that will run the itext
gen. Thats how i do it and it works great.

On Apr 6, 11:55 am, Peter Ondruška <peter.ondru...@gmail.com> wrote:
> I think you should not use GWT RPC servlet, just use normal servlet.
>
> 2009/4/6, Superman859 <russ.d.hollo...@gmail.com>:
>
>
>
> > I want to use iText to generate a PDF file.  Ideally, I can
> > incorporate a generatePDF() method into my interface and my Servlet
> > that is involved in GWT-RPC.  When that method is called, I want it to
> > generate a PDF file and either display it to the user in a new window
> > or present a save dialog box or anything - something that leaves the
> > GWT app as it was and allows the user to view / save / print the PDF.
>
> > Generating the PDF is not a problem.  I can generate one and write it
> > to a file on the server without any trouble.  However, I am having
> > trouble presenting the user with it (I would rather NOT write them to
> > files on the server, and just let the user save on their own machine
> > if they wish to do so).
>
> > Here is code for a sample "Hello World"
>
> > public boolean generatePDF(ReportDO report, int id) {
> >            System.out.println("hello world to follow");
> >            // get request
> >            //HttpServletRequest request = getThreadLocalRequest();
>
> >            // get response
> >            HttpServletResponse response = getThreadLocalResponse();
>
> >            Document document = new Document();
>
> >            // generate test PDF
> >            try {
>
> >            ByteArrayOutputStream baos = new ByteArrayOutputStream();
> >            //PdfWriter.getInstance(document, new FileOutputStream
> > ("HelloWorld.pdf"));
> >            PdfWriter.getInstance(document, baos);
> >            document.open();
> >            document.add(new Paragraph("hello world"));
> >            document.close();
>
> >            // setting some response headers
> >            response.setHeader("Expires", "0");
> >            response.setHeader("Cache-Control", "must-revalidate, 
> > post-check=0,
> > pre-check=0");
> >            response.setHeader("Pragma", "public");
>
> >            response.setContentType("application/pdf");
>
> >            // content length is needed for MSIE
> >            response.setContentLength(baos.size());
>
> >            // write ByteArrayOutputStream to ServletOutputStream
> >            ServletOutputStream out = response.getOutputStream();
> >            baos.writeTo(out);
> >            out.flush();
> >            }
> >            catch (Exception e) {
> >                    System.out.println("generatePDF:Exception " + 
> > e.getMessage());
> >            }
>
> >            return true;
> >    }
>
> > This code is in my GWT-RPC Servlet, which extends
> > RemoteServiceServlet.  Note if I use the currently commented line of
> > FileOutputStream("HelloWorld.pdf") it will generate the file and work
> > fine.  However, if I try to send it to the browser, nothing appears,
> > and the AsyncCallback for GWT-RPC calls the onFailure() method.
>
> > Does anyone know where the problem might be?  I'm assuming it has to
> > do with response.  RemoteServiceServlet has a method
> > getThreadLocalResponse() which returns HttpServletResponse, which is
> > what the iText examples use.  I know very little about these response
> > objects.  But it seems that somehow there is some interference between
> > that and GWT-RPC.  The AsyncCallback is a success when writing to
> > file.  However, when attempting to send to browser, it fails.
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to