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 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" 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();