不久前我的博客记录了一种
用fop生成PDF的方法,个人感觉不是太好。有以下原因:
fop有点老了,而且更新不活跃。里面依赖的一些jar包都是10年前的老古董了。像xalan,xml-apis这些开源包现在都已经被打包到JDK里面去了,还有batik,avalon这些包引入数量达到20个左右,非常不经济环保。
最近,本人又找到了一个开源包,叫flying-saucer,也能生成PDF,清清爽爽就2个jar包搞定,用maven也简单,而且更新比较活跃,它内部是调用的itext来生成PDF。
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf-itext5</artifactId>
<version>9.0.6</version>
</dependency>
以下是通用的生成PDF的方法,很简单,2个参数,输入是HTML,输出就是PDF
private boolean convertHtmlToPdf(String inputFile, String outputFile) throws Exception {
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
String url = new File(inputFile).toURI().toURL().toString();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.flush();
os.close();
return true;
}
详细代码我不贴了,感兴趣的童鞋自己去下载我放在
github上的工程吧.
测试代码见org.xpen.hello.xml.xslt.XsltTest,演示了XSLT转换XML,并转为PDF。
2014/10/22补充:
随着业务需求的复杂,xslt要写出来也越来越难维护,这时候倒也可考虑用fop,fo文件可以考虑用freemarker这类模板引擎生成。
分享到:
相关推荐
flying-saucer生成pdf解决大部分的问题 1.图片显示问题 2.中文显示问题,css样式问题 3.表格跨行问题
flying-saucer-pdf 生成pdf解决图片问题 解决中文问题
基于iText 和 flying saucer结合freemark java 生成 pdf
flying-saucer-coreR-9.0.7 中修改Breaker类,解决PDF中文没有对齐问题。
基于iText和flying saucer结合freemark生成pdf 范例 1. 使用maven构建,不含jar包,可以自行使用maven下载依赖包, 2. 使用前需要将C:/Windows/Fonts/ARIALUNI.TTF 复制到doc-render/src/test/resources/config/fonts...
Flying-Saucer通过html生成pdf。。。项目中已经附带了jar包,放到项目中就可以运行了。亲测了,解决了中文不显示或者样式的问题,感觉蛮实用的。网上找了很久和下载其他资源用了好多积分,如果有需要的就下载吧!!...
可以在freemaker生成pdf时,解决中文不能换行的问题
Flying Saucer 实现html 生成pdf 代码可以参照我的博客
基于iText 和 flying saucer 结合 freemark java 生成 pdf
Flying Saucer生成pdf文档jar包 ,已做修改,支持中文 换行,但是 table标签换行 请改用CSS 样式:style="table-layout:fixed; word-break:break-strict;
flying sauser,基于iText自身的问题,让我们开始寻求可以真正意义上模版技术,那么flying sauser就是为了这个问题出现的产品,能解析HTML和CSS,而且能输出成image,PDF等格式。具体使用,请访问:...
Flying Saucer(或者叫xhtmlrender project on java.net)是一个基于iText的开源java库,能够轻松的将html(带css2.1)生成pdf。 网站:http://code.google.com/p/flying-saucer/ 基于这个两个技术,大致就有了以下思路...
NULL 博文链接:https://cuiyaoonan2000.iteye.com/blog/2173135
实例介绍,包含中文问题的解决方法等,在生成pdf的过程中遇到的问题。希望对大家又算帮助
iText+Flying Saucer生成pdf文档jar包(修改后的)支持中文
使用flyingsaucer将网页转换为pdf之中文问题彻底解决
本资源是自己在利用itext和flying saucer将html生成pdf,并使用freemarker模板引擎的样例
为了生成PDF,请运行JUnit测试: src/test/FlyingSaucerTest.java 该测试将生成一个名为: test.pdf 如果您想查看生成的内容,请检入生成的PDF的副本: example_of_generated_pdf.pdf 可以使用Gradle(使用...
iText+Flying Saucer生成pdf文档,中文不显示和不自动换行问题重新Breaker.class
一个很好用的工具,可以将HTML直接转成PDF文件,包括PDF的字体、PDF的格式、Image如何处理等等,结合freemarker模板可以很好的做到PDF文件的导出。