将html文件转成xhtml后,下一步骤就是生成xsl-fo文件,这里需要使用XSLT,才能做到。我使用的是xhtml2fo.xsl文件转换器(我自己称呼它为转换器)。这个xhtml2fo.xsl文件我已经下载到csdn资源了。
代码很简单:
/**
*
* @param xslName
* xsl转换器文件
* @param xhtmlContent
* xhtml内容
* @param outFile
* 转换后的输出文件
* @throws Exception
*/
public static void xhtmlToFo(String xslName, String xhtmlContent, String outFile) throws Exception {
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(new StreamSource(Thread.currentThread().getContextClassLoader().getResourceAsStream(xslName)));
transformer.transform(new StreamSource(new ByteArrayInputStream(xhtmlContent.getBytes("UTF-8"))), new StreamResult(new FileOutputStream(new File(outFile))));
}