Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.fop.servlet
Class FopServlet

    java.lang.Object
      javax.servlet.GenericServlet
          javax.servlet.http.HttpServlet
              org.apache.fop.servlet.FopServlet

All Implemented Interfaces:
  java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

Direct Known Subclasses:
  FopPrintServlet

public class FopServlet
extends javax.servlet.http.HttpServlet

Example servlet to generate a PDF from a servlet.
Servlet param is:

- fo: the path to a XSL-FO file to render

or

- xml: the path to an XML file to render
- xslt: the path to an XSLT file that can transform the above XML to XSL-FO

Example URL: http://servername/fop/servlet/FopServlet?fo=readme.fo
Example URL: http://servername/fop/servlet/FopServlet?xml=data.xml&xslt=format.xsl
For this to work with Internet Explorer, you might need to append "&ext=.pdf" to the URL.

Version:
  $Id: FopServlet.java 732631 2009-01-08 07:59:58Z jeremias $ (todo) Ev. add caching mechanism for Templates objects
Author:
  Apache FOP Development Team
See Also:
  Serialized Form

Field Summary
`protected static java.lang.String` | `FO_REQUEST_PARAM` Name of the parameter used for the XSL-FO file
`protected FopFactory` | `fopFactory` The FopFactory used to create Fop instances
`protected javax.xml.transform.TransformerFactory` | `transFactory` The TransformerFactory used to create Transformer instances
`protected javax.xml.transform.URIResolver` | `uriResolver` URIResolver for use by this servlet
`protected static java.lang.String` | `XML_REQUEST_PARAM` Name of the parameter used for the XML file
`protected static java.lang.String` | `XSLT_REQUEST_PARAM` Name of the parameter used for the XSLT file

Constructor Summary
`FopServlet()`

Method Summary
`protected void` | `configureFopFactory()` This method is called right after the FopFactory is instantiated and can be overridden by subclasses to perform additional configuration.
`protected javax.xml.transform.Source` | `convertString2Source(java.lang.String param)` Converts a String parameter to a JAXP Source object.
`void` | `doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`
`protected FOUserAgent` | `getFOUserAgent()`
`void` | `init()`
`protected void` | `render(javax.xml.transform.Source src, javax.xml.transform.Transformer transformer, javax.servlet.http.HttpServletResponse response)` Renders an input file (XML or XSL-FO) into a PDF file.
`protected void` | `renderFO(java.lang.String fo, javax.servlet.http.HttpServletResponse response)` Renders an XSL-FO file into a PDF file.
`protected void` | `renderXML(java.lang.String xml, java.lang.String xslt, javax.servlet.http.HttpServletResponse response)` Renders an XML file into a PDF file by applying a stylesheet that converts the XML to XSL-FO.

Methods inherited from class javax.servlet.http.HttpServlet
`doDelete, doOptions, doPost, doPut, doTrace, getLastModified, service, service`

Methods inherited from class javax.servlet.GenericServlet
`destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### FO_REQUEST_PARAM

    protected static final java.lang.String FO_REQUEST_PARAM

  Name of the parameter used for the XSL-FO file

  See Also:
    Constant Field Values

### XML_REQUEST_PARAM

    protected static final java.lang.String XML_REQUEST_PARAM

  Name of the parameter used for the XML file

  See Also:
    Constant Field Values

### XSLT_REQUEST_PARAM

    protected static final java.lang.String XSLT_REQUEST_PARAM

  Name of the parameter used for the XSLT file

  See Also:
    Constant Field Values

### transFactory

    protected javax.xml.transform.TransformerFactory transFactory

  The TransformerFactory used to create Transformer instances

### fopFactory

    protected FopFactory fopFactory

  The FopFactory used to create Fop instances

### uriResolver

    protected javax.xml.transform.URIResolver uriResolver

  URIResolver for use by this servlet

Constructor Detail

### FopServlet

    public FopServlet()

Method Detail

### init

    public void init()
              throws javax.servlet.ServletException

  Throws:
    `javax.servlet.ServletException`

### configureFopFactory

    protected void configureFopFactory()

  This method is called right after the FopFactory is instantiated and can be overridden by subclasses to perform additional configuration.

### doGet

    public void doGet(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)
               throws javax.servlet.ServletException

  Throws:
    `javax.servlet.ServletException`

### convertString2Source

    protected javax.xml.transform.Source convertString2Source(java.lang.String param)

  Converts a String parameter to a JAXP Source object.

  Parameters:
    `param` - a String parameter
  Returns:
    Source the generated Source object

### renderFO

    protected void renderFO(java.lang.String fo,
                            javax.servlet.http.HttpServletResponse response)
                     throws FOPException,
                            javax.xml.transform.TransformerException,
                            java.io.IOException

  Renders an XSL-FO file into a PDF file. The PDF is written to a byte array that is returned as the method's result.

  Parameters:
    `fo` - the XSL-FO file
    `response` - HTTP response object
  Throws:
    `FOPException` - If an error occurs during the rendering of the XSL-FO
    `javax.xml.transform.TransformerException` - If an error occurs while parsing the input file
    `java.io.IOException` - In case of an I/O problem

### renderXML

    protected void renderXML(java.lang.String xml,
                             java.lang.String xslt,
                             javax.servlet.http.HttpServletResponse response)
                      throws FOPException,
                             javax.xml.transform.TransformerException,
                             java.io.IOException

  Renders an XML file into a PDF file by applying a stylesheet that converts the XML to XSL-FO. The PDF is written to a byte array that is returned as the method's result.

  Parameters:
    `xml` - the XML file
    `xslt` - the XSLT file
    `response` - HTTP response object
  Throws:
    `FOPException` - If an error occurs during the rendering of the XSL-FO
    `javax.xml.transform.TransformerException` - If an error occurs during XSL transformation
    `java.io.IOException` - In case of an I/O problem

### render

    protected void render(javax.xml.transform.Source src,
                          javax.xml.transform.Transformer transformer,
                          javax.servlet.http.HttpServletResponse response)
                   throws FOPException,
                          javax.xml.transform.TransformerException,
                          java.io.IOException

  Renders an input file (XML or XSL-FO) into a PDF file. It uses the JAXP transformer given to optionally transform the input document to XSL-FO. The transformer may be an identity transformer in which case the input must already be XSL-FO. The PDF is written to a byte array that is returned as the method's result.

  Parameters:
    `src` - Input XML or XSL-FO
    `transformer` - Transformer to use for optional transformation
    `response` - HTTP response object
  Throws:
    `FOPException` - If an error occurs during the rendering of the XSL-FO
    `javax.xml.transform.TransformerException` - If an error occurs during XSL transformation
    `java.io.IOException` - In case of an I/O problem

### getFOUserAgent

    protected FOUserAgent getFOUserAgent()

  Returns:
    a new FOUserAgent for FOP

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 1999-2010 The Apache Software Foundation. All Rights Reserved.