You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Bill Lunnon <bi...@mirrim.com.au> on 2002/04/05 13:32:22 UTC

RE: write servlet response to a pdf file rather than send it to browser?

Will,

This looks like a java issue, rather than a fop one.

Look at the java.io.FileOutputStream documentation, you cannot instantiate a
FileOutputStream object without specifying a name or file.

Bill

-----Original Message-----
From: Carter, Will [mailto:wcarter@EnvestNet.com]
Sent: Friday, 5 April 2002 4:20 AM
To: 'fop-user@xml.apache.org'
Subject: write servlet response to a pdf file rather than send it to
browser?


Hi,

Here is the code I am trying to use for accompleshing the task of sending
the servlet response to a pdf file instead of the browser.

I am not very experienced with java and the code I have added is marked
below.



	public void renderFO(InputSource foFile,HttpServletResponse
response) throws ServletException {
        	try {
            ByteArrayOutputStream out = new ByteArrayOutputStream();

		response.setContentType("application/pdf");

            Driver driver = new Driver(foFile, out);
            driver.setLogger(log);
            driver.setRenderer(Driver.RENDER_PDF);
            driver.run();

******ADDED Start

		File file = new File("my.pdf");
		FileOutputStream fo = new FileOutputStream();
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		baos.writeTo(fo);

******ADDED End

            byte[] content = out.toByteArray();
            response.setContentLength(content.length);
            response.getOutputStream().write(content);
            response.getOutputStream().flush();


        } catch (Exception ex) {
            throw new ServletException(ex);
        }

	}


When I try to compile FopServlet, I get...

FopServlettest.java:101: cannot resolve symbol
symbol  : constructor FileOutputStream  ()
location: class java.io.FileOutputStream
                        FileOutputStream fo = new FileOutputStream();


any help would be great!

thanks,
Will Carter