cvs commit: xml-fop/docs/examples/embedding FopServlet.java fop.war
keiron 02/03/27 04:02:42 Removed: docs/examples/embedding FopServlet.java fop.war Log: moved to contrib - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/examples/embedding FopServlet.java fop.war
keiron 01/09/25 01:32:58 Modified:docs/examples/embedding FopServlet.java fop.war Log: updated servlet to reflect changes to fop Revision ChangesPath 1.4 +53 -9 xml-fop/docs/examples/embedding/FopServlet.java Index: FopServlet.java === RCS file: /home/cvs/xml-fop/docs/examples/embedding/FopServlet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- FopServlet.java 2001/08/10 07:50:22 1.3 +++ FopServlet.java 2001/09/25 08:32:58 1.4 @@ -1,12 +1,10 @@ /* - * $Id: FopServlet.java,v 1.3 2001/08/10 07:50:22 keiron Exp $ + * $Id: FopServlet.java,v 1.4 2001/09/25 08:32:58 keiron Exp $ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. * For details on use and redistribution please refer to the * LICENSE file included with these sources. */ -package org.apache.fop.tools.servlet; - import java.io.*; import javax.servlet.*; @@ -17,7 +15,9 @@ import org.apache.fop.apps.Driver; import org.apache.fop.apps.Version; +import org.apache.fop.apps.XSLTInputHandler; +import org.apache.log.*; /** * Example servlet to generate a PDF from a servlet. @@ -26,23 +26,45 @@ * lifo: the path to a formatting object file to render * /ul * - * Example URL: http://servername/servlet/FopServlet?fo=/home/fop/example/readme.fo + * Example URL: http://servername/servlet/FopServlet?fo=readme.fo + * Example URL: http://servername/servlet/FopServlet?xml=data.xmlxsl=format.xsl * Compiling: you will need * - servlet_2_2.jar * - fop.jar * - sax api + * - logkit jar + * + * Running: you will need in the WEB-INF/lib/ directory: + * - fop.jar + * - batik.jar + * - avalon-framework-4.0.jar + * - logkit-1.0b4.jar + * - xalan-2.0.0.jar */ - public class FopServlet extends HttpServlet { public static final String FO_REQUEST_PARAM = fo; +public static final String XML_REQUEST_PARAM = xml; +public static final String XSL_REQUEST_PARAM = xsl; +Logger log = null; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException { +if(log == null) { +Hierarchy hierarchy = Hierarchy.getDefaultHierarchy(); +log = hierarchy.getLoggerFor(fop); +log.setPriority(Priority.WARN); +} try { -if (request.getParameter(FO_REQUEST_PARAM) != null) { -FileInputStream file = new FileInputStream( - request.getParameter(FO_REQUEST_PARAM)); +String foParam = request.getParameter(FO_REQUEST_PARAM); +String xmlParam = request.getParameter(XML_REQUEST_PARAM); +String xslParam = request.getParameter(XSL_REQUEST_PARAM); + +if (foParam != null) { +FileInputStream file = new FileInputStream(foParam); renderFO(new InputSource(file), response); +} else if((xmlParam != null) (xslParam != null)) { +XSLTInputHandler input = new XSLTInputHandler(new File(xmlParam), new File(xslParam)); +renderXML(input, response); } else { PrintWriter out = response.getWriter(); out.println(htmlheadtitleError/title/head\n+ @@ -69,17 +91,39 @@ response.setContentType(application/pdf); Driver driver = new Driver(foFile, out); +driver.setLogger(log); +driver.setRenderer(Driver.RENDER_PDF); driver.run(); byte[] content = out.toByteArray(); response.setContentLength(content.length); response.getOutputStream().write(content); response.getOutputStream().flush(); - } catch (Exception ex) { throw new ServletException(ex); } +} + +public void renderXML(XSLTInputHandler input, + HttpServletResponse response) throws ServletException { +try { +ByteArrayOutputStream out = new ByteArrayOutputStream(); + +response.setContentType(application/pdf); +Driver driver = new Driver(); +driver.setLogger(log); +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); +}
cvs commit: xml-fop/docs/examples/embedding FopServlet.java
keiron 01/08/10 00:50:22 Modified:docs/examples/embedding FopServlet.java Log: formatted and made it compile (with changed api?) Revision ChangesPath 1.3 +65 -116 xml-fop/docs/examples/embedding/FopServlet.java Index: FopServlet.java === RCS file: /home/cvs/xml-fop/docs/examples/embedding/FopServlet.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- FopServlet.java 2001/03/03 07:06:03 1.2 +++ FopServlet.java 2001/08/10 07:50:22 1.3 @@ -1,52 +1,8 @@ -/*-- $Id: FopServlet.java,v 1.2 2001/03/03 07:06:03 kellyc Exp $ -- - - - The Apache Software License, Version 1.1 - - -Copyright (C) 1999 The Apache Software Foundation. All rights reserved. - - Redistribution and use in source and binary forms, with or without modifica- - tion, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - - 3. The end-user documentation included with the redistribution, if any, must -include the following acknowledgment: This product includes software -developed by the Apache Software Foundation (http://www.apache.org/). -Alternately, this acknowledgment may appear in the software itself, if -and wherever such third-party acknowledgments normally appear. - - 4. The names Fop and Apache Software Foundation must not be used to -endorse or promote products derived from this software without prior -written permission. For written permission, please contact -[EMAIL PROTECTED] - - 5. Products derived from this software may not be called Apache, nor may -Apache appear in their name, without prior written permission of the -Apache Software Foundation. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- - DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - This software consists of voluntary contributions made by many individuals - on behalf of the Apache Software Foundation and was originally created by - James Tauber [EMAIL PROTECTED]. For more information on the Apache - Software Foundation, please see http://www.apache.org/. - +/* + * $Id: FopServlet.java,v 1.3 2001/08/10 07:50:22 keiron Exp $ + * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. + * For details on use and redistribution please refer to the + * LICENSE file included with these sources. */ package org.apache.fop.tools.servlet; @@ -64,93 +20,86 @@ /** - * Example servlet to generate a PDF from a servlet. + * Example servlet to generate a PDF from a servlet. * Servlet param is: * ul * lifo: the path to a formatting object file to render * /ul - * - * Example URL: http://servername/servlet/FopServlet?fo=/home/fop/example/readme.fo * - */ + * Example URL: http://servername/servlet/FopServlet?fo=/home/fop/example/readme.fo + * Compiling: you will need + * - servlet_2_2.jar + * - fop.jar + * - sax api + */ -public class FopServlet extends HttpServlet -{ +public class FopServlet extends HttpServlet { public static final String FO_REQUEST_PARAM = fo; -public void doGet(HttpServletRequest request, - HttpServletResponse response) - throws ServletException -{ - try { - if (request.getParameter(FO_REQUEST_PARAM) != null) { - FileInputStream file = new FileInputStream(request.getParameter(FO_REQUEST_PARAM)); - renderFO(new InputSource(file), response); - } - else { - PrintWriter out = response.getWriter(); -