(1)itext:这个能识别中文,但是对css解析不敢恭维
引入jar包:
itext-asian-5.2.0.jar
itextpdf-5.3.2.jar
xmlworker-1.2.1-micmiu.jar
介绍: xmlworker将源码进行修改,能够支持中文格式
linux编译执行命令itext:
1. javac -classpath /home/weblogic/test/itext-asian-5.2.0.jar:/home/weblogic/test/itextpdf-5.3.2.jar
:/home/weblogic/test/xmlworker-1.2.1-micmiu.jar Test.java
2. 执行: java -cp .:* Test
(2)flyling sauser:这个可以解析html代码,并且css识别度高。
例如: <tr/> 这样不行,要有与之对应的标签 /tr>
引入jar包:
1)flying-saucer-core-9.1.0.jar
flying-saucer-pdf-9.1.0.jar
2)itext-2.1.7.jar
.ttc语言包
itextpdf-5.3.2.jar
3)flySaucer编译运行:
- javac -classpath
/home/weblogic/test/flying-saucer-core-9.1.0.jar
:/home/weblogic/test/itext-2.1.7.jar Test.java
- java -cp .:* Test
(3)ireport .jrxml生成pdf ,需要涉及模型,同时要将字体打包
引入jar包:
1)jasperreports-3.7.6.jar 依赖的包
commons-collections-3.2.1.jar
commons-beanutils-1.8.3.jar
commons-digester-2.1.jar
2)itext-2.1.7.jar
iTextAsianCmaps.jar
iTextAsian.jar
注意点:
1. ireport没有字体加粗的格式,只能用"黑体"字体
字体打包参考:http:
2. 先将模板生成为.jasper,再生成pdf文件
3. ireport编译:
javac -classpath
./commons-collections-3.2.1.jar
:./commons-beanutils-1.8.3.jar:./commons-digester-2.1.jar
:./iTextAsian.jar
:./itext-2.1.7.jar
:./iTextAsianCmaps.jar
:./simhei.jar
:./jasperreports-3.7.6.jar
TestIReport1.java
执行:
java -cp .:* TestIReport
4. linux运行时报错:
例:
Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
Caused by: java.lang.InternalError: Cant connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable
为什么会造成这个问题呢?由于linux系统下不自带图片处理而window下是自带图片处理 ,此时需要在启动系统的时候,需要配置jdk和tomcat配置:-Djava.awt.headless=true
具体参考链接:http: