Red de conocimiento informático - Material del sitio web - Cómo integrar FOP en un programa

Cómo integrar FOP en un programa

Cómo usar FOP

FOP tiene tres formas de usarlo: línea de comando, incrustación de programa e incrustación XT

Aquí presentaremos principalmente cómo. para usarlo en el programa. La conversión de archivos XML a PDF en realidad se divide en 2 pasos. El primer paso es usar XSLT para convertir XML a XSL-FO y el segundo paso es convertir XSL-FO a PDF. No quiero hablar aquí sobre el conocimiento relacionado con XSLT y XSL-FO (hay bastantes documentos en esta área), pero solo hablaré sobre cómo realizar la programación de transformación en el paso 2.

Integrar FOP en el programa

1. Ejemplo de archivo simple.fo

Después de -ttcname, especifique el nombre de la fuente que debe extraerse del archivo ttc

El segundo paso es registrar el fuente anterior

Hay un archivo userconfig.xml en el subdirectorio conf del directorio principal de FOP. Para mayor comodidad, lo copiaremos junto con los simsun.xml y simkai.xml generados en el paso anterior en nuestro In. el mismo directorio que el programa de demostración. Hay un área de etiquetas en las últimas líneas de userconfig.xml, en la que agregamos los siguientes elementos:

Puede establecer una ruta relativa o una ruta absoluta en metrics-file (porque aquí estamos en el mismo directorio, por lo que solo necesitamos escribir el nombre del archivo), y el nombre en font-triplet se puede configurar libremente mediante usted mismo, y no es necesario que sea el mismo que el nombre de la fuente. Después de configurar este nombre, solo se puede hacer referencia a la fuente con este nombre en fo.

Para demostrar la visualización en chino, el archivo simplecn.fo de muestra es

altura de página="29,7 cm"

ancho de página="21 cm"

margen- arriba="1cm"

margin-bottom="2cm"

margin-left="2.5cm"

margin-right="2.5cm">

< fo :region-after extend="1.5cm"/>

font-family="mysimsun"

line-height="24pt"

text-align="center "

padding-top="3pt">

Esta es la dinastía Song

font-family="mysimkai"

line-height="24pt"

text-align="center"

p>

padding-top="3pt">

Esto está en cursiva

El archivo fo anterior utiliza dos fuentes para mostrar una línea de texto respectivamente. Tenga en cuenta que en

ont-family se establece con el nombre correspondiente en userconfig.xml.

Dado que es necesario leer userconfig.xml para obtener información de fuente, el cuerpo del programa se modifica de la siguiente manera:

Driver driver = new Driver();

driver.setInputSource( nuevo InputSource (args[0]));

driver.setOutputStream(new FileOutputStream(args[1]));

driver.setRenderer(Driver.RENDER_PDF) ;

//Leer la configuración (completada en el constructor de Opciones)

Opciones opciones = new Options(new File("userconfig.xml"));

controlador .run();