版本:fop2.5
fop目前存在的缺点:
1、不支持水印 --可借助adobe acfobat工具或使用脚本实现
2、不支持文本自动换行 --自实现不确定是否支持,不确认是否有字符宽度计算api
3、中文字体兼容性操作麻烦 --需生成中文字符矩阵,嵌入到配置中
乱码效果:
FOP中文乱码问题解决:
1、下载fop包并解压
2、利用fop包中提供的工具生成中文字符矩阵,这里用“宋体”示例:
命令:
java -cp c:\fop\build\fop.jar;c:\fop\lib\commons-logging-1.0.4.jar;c:\fop\lib\commons-io-1.3.1.jar;c:\fop\lib\xmlgraphics-commons-2.4.jar org.apache.fop.fonts.apps.TTFReader -ttcname "simsun" c:\windows\fonts\simsun.ttc simsun.xml
生成的文件示例:
3、fop配置文件中添加字体配置, 可参考conf/fop.xconf配置文件
1)此处仅使用pdf生成,去掉配置中其他文件类型渲染配置
2)关闭pdf文件渲染下的字体自动扫描配置 --字体扫描加载比较慢,也比教占用资源