fop 2.3

org.apache.fop.servlet
Class FopServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by 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:

or
Example URL: http://servername/fop/servlet/FopServlet?fo=readme.fo
Example URL: http://servername/fop/servlet/FopServlet?xml=data.xml
For this to work with Internet Explorer, you might need to append "ext=.pdf" to the URL. (todo) Ev. add caching mechanism for Templates objects

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(FopFactoryBuilder builder)
          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 transient 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

Overrides:
init in class javax.servlet.GenericServlet
Throws:
javax.servlet.ServletException

configureFopFactory

protected void configureFopFactory(FopFactoryBuilder builder)
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

Overrides:
doGet in class javax.servlet.http.HttpServlet
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

fop 2.3

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