Formatting Objects Processor
# Formatting Objects Processor

Formatting Objects Processor (FOP) es una aplicación Java (formateador de impresión) que convierte archivos XSL Formatting Objects (XSL-FO) a PDF u otros formatos imprimibles. Está dirigido por XSL formatting objects (XSL-FO) y un formateador (dador de formato) independiente del formato de salida (output). Lee el árbol de formato de objeto (FO) y renderiza las páginas resultantes a un formato de salida específico. FOP fue desarrollado originalmente por James Tauber, el cual lo donó a la Apache Software Foundation en 1999. Es parte del proyecto Apache XML Graphics.

FOP es software de código abierto, y se distribuye bajo la Apache License 2.0.

## Características

### Formatos de entrada (input) soportados

Apache FOP soporta la incrustación de imágenes en formatos XSL-FO (a través del elemento <fo:external-graphic>). Estos incluyen:

* SVG
* PNG
* Bitmap BMP
* PostScript (como EPS, Encapsulated PostScript)
* JPEG
* Algunos tipos de TIFF.

Apache FOP no implementa el elemento <fo:float>. Los objetos de gráficos externos están así limitadoa a ser dibujados en líneas o en un bloc con texto sin envolver.

### Formatos de salida (output) soportados

Apache FOP soporta los siguientes formatos de salida:

* PDF (mejor soportado)
* ASCII text file facsimile
* PostScript
* Direct printer output (PCL)
* AFP
* RTF
* Java2D/AWT para mostrado, impresión y renderizado de páginas a PNG y TIFF.

En progreso:

* MIF
* SVG

### Estado actual

La última versión de Apache FOP es 1.0. Es la 3ª versión estable después de un largo esfuerzo e implementa un gran subconjunto de effort la XSL-FO Version 1.1 W3C Recommendation. En la versión 0.91alpha, FOP llegó a ser más cumplidor con la XSL-FO Recommendation.

