And how can i use that to render an in-memory DOM object? The xml I need to render is constructed on the fly from database records and then fed to fop.
Roel mgainty wrote: > > FOP 0.94 has working servlet code > which can be called specifying the xml and xsl > http://servername/fop/servlet/FopServlet?xml=data.xml&xslt=format.xsl > > OR just using the fo param > http://servername/fop/servlet/FopServlet?fo=readme.fo > > http://archive.apache.org/dist/xmlgraphics/fop/binaries/ > M-- > ----- Original Message ----- > Wrom: YRWTQTIPWIGYOKSTTZRCLBDXRQBGJS > To: <users@tomcat.apache.org> > Sent: Thursday, November 29, 2007 6:25 AM > Subject: apache fop remains active in servlet environment > > >> >> I use apache fop in a servlet to display some xml as pdf. When I have >> used >> that functionality in my webapp my (Tomcat 6.0) web container doesn't >> want >> to undeploy. It deletes everything in the webapps/*context* directory > except >> WEB-INF/lib/batik.jar and WEB-INF/lib/fop.jar. When trying to delete the >> files manually windows tells me they are in use. >> >> I use this code to render the xml into pdf >> >> ByteArrayOutputStream out = new ByteArrayOutputStream(); >> FopFactory ff=FopFactory.newInstance(); >> TransformerFactory tf=TransformerFactory.newInstance(); >> >> StreamSource xslfo=new >> StreamSource(this.getServletContext().getRealPath("lid-pdf.xsl")); >> try { >> Transformer tt=tf.newTransformer(xslfo); >> Fop fp=ff.newFop(MimeConstants.MIME_PDF, out); >> >> SAXResult res=new SAXResult(fp.getDefaultHandler()); >> Source src= new DOMSource(doc); >> DOMResult dd=new DOMResult(); >> assert(src!=null); >> assert(res!=null); >> tt.transform(src, dd); >> Transformer t2=tf.newTransformer(); >> // System.out.println(res.getNode().getFirstChild()); >> t2.transform(new DOMSource(dd.getNode()), res ); >> >> //Prepare response >> response.setContentType("application/pdf"); >> assert(out.size()>0); >> response.setContentLength(out.size()); >> // System.out.println(Version.getVersion()); >> //Send content to Browser >> response.getOutputStream().write(out.toByteArray()); >> response.getOutputStream().flush(); >> out.close(); >> >> } catch (FOPException e) { >> // TODO Auto-generated catch block >> throw new ServletException(e); >> } catch (TransformerConfigurationException e1) { >> // TODO Auto-generated catch block >> throw new ServletException(e1); >> } catch (TransformerException e) { >> // TODO Auto-generated catch block >> throw new ServletException(e); >> } >> >> System.gc(); >> >> >> Anyone has any ideas? >> >> Roel >> -- >> View this message in context: > http://www.nabble.com/apache-fop-remains-active-in-servlet-environment-tf489 > 6511.html#a14023743 >> Sent from the Tomcat - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To start a new topic, e-mail: users@tomcat.apache.org >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/apache-fop-remains-active-in-servlet-environment-tf4896511.html#a14030465 Sent from the Tomcat - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]