XSL-FO 简单使用方法(java & xsl-fo & xml)
package testfop; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.OutputStream; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.stream.StreamSource; import org.apache.fop.apps.Driver; import org.apache.fop.apps.FOPException; import org.apache.fop.apps.Options; public class fopUtil { private static String configFilePath = null; public fopUtil() { this.configFilePath = "E:\\adidas_support\\Tools\\fop-0.20.5\\userconfig.xml"; } public void test() {try { File xml = new File("E:\\adidas_support\\Tools\\fop-0.20.5\\test.xml"); File xslt = new File("E:\\adidas_support\\Tools\\fop-0.20.5\\test.xsl"); File pdf = new File("E:\\adidas_support\\Tools\\fop-0.20.5\\test.pdf"); String baseDir= "E:\\adidas_support\\Tools\\fop-0.20.5\\conf"; org.apache.fop.configuration.Configuration.put("baseDir", baseDir);//设置配置路径 OutputStream out = new java.io.FileOutputStream(pdf);//设置输出文件 out = new java.io.BufferedOutputStream(out); Driver dirver = new Driver();//创建驱动 dirver.reset();//重置驱动 Options option = new Options(new File(this.configFilePath));//加载配置文件 dirver.setRenderer(Driver.RENDER_PDF);//设置要转换成的文档类型 dirver.setOutputStream(out);//设置驱动的输出源 TransformerFactory tf = TransformerFactory.newInstance(); Transformer tfr = tf.newTransformer(new StreamSource(xslt));//创建转换XSL文档 Source src = new StreamSource(xml);//设置XML源 Result res = new SAXResult(dirver.getContentHandler()); tfr.transform(src, res);//开始转换 out.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FOPException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 本文出自 51CTO.COM技术博客 |


liqinmeng0408 
博客统计信息
热门文章
最新评论
友情链接