Hello, i am trying to generate pdf on fly from dynamic xml-source adapting the official fopservlet.java example to display it on the IE6 Browser. I am also beginning with java.
Here goes my code, where sXSL is the Url to my stylesheet: <snip> InputSource xslSource = new InputSource(new URL(sXSL).openStream()); InputSource xmlSource = new InputSource (new StringReader(sReturnString)); XSLTInputHandler input = new XSLTInputHandler(xslSource, xmlSource); //StreamSource xmlSource = new StreamSource(new StringReader(sReturnString)); renderXML(input, c_response); </snip> where renderXML is slightly different from the original <snip> public void renderXML(XSLTInputHandler input, HttpServletResponse response) throws ServletException { try { log("renderXML"); ByteArrayOutputStream out = new ByteArrayOutputStream(); response.setContentType("application/pdf"); response.setHeader( "Content-disposition","inline; filename=test.pdf" ); Driver driver = new Driver(); driver.setLogger(logPDF); driver.setRenderer(Driver.RENDER_PDF); driver.setOutputStream(out); driver.render(input.getParser(), input.getInputSource()); byte[] content = out.toByteArray(); response.setContentLength(content.length); response.getOutputStream().write(content); response.getOutputStream().flush(); } catch (Exception ex) { throw new ServletException(ex); } } </snip> What is wrong ? if have also tried do it with the transformer object: <snip> public void generatePdf(String xml, String xslPfad, OutputStream pdfOutput) throws Exception { try{ c_response.setContentType("application/pdf"); c_response.setHeader( "Content-disposition","inline; filename=test.pdf" ); Source streamSource = new StreamSource(new URL(xslPfad).openStream()); Source saxSource = new SAXSource(new InputSource(new StringReader(xml))); Driver driver = new Driver(); Logger logger = new ConsoleLogger(ConsoleLogger.LEVEL_WARN); MessageHandler.setScreenLogger(logger); driver.setLogger(logger); //driver.setLogger(getLogger()); driver.setRenderer(Driver.RENDER_PDF); driver.setOutputStream(pdfOutput); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(streamSource); Result result = new SAXResult(driver.getContentHandler()); transformer.transform(saxSource, result); } catch (Exception e) { } finally{ //pdfOutput.close(); } } </snip> calling this with: <snip> OutputStream out = new ByteArrayOutputStream(); try { generatePdf(sReturnString, sXSL, out); } catch (Exception e) { } </snip> Thanks for your help, Hans Braumüller --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]