在用DocBook和FOP生成HTML文件及PDF过程中,HTML文件能顺利生成,但无法生成PDF文件。问题出在表格上。
最早时,此表格与其他内容一起放在单独的xml文件中,能顺利生成PDF文件。后来随着内容的增多,将不同的章节放到不同的xml文件,此表格随之放在其他的xml文件中后,问题就来了。FOP的报错信息:
警告: Warning(Unknown location): fo:table, table-layout="auto" is currently not supported by FOP
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
看到table-layout="auto" is currently not supported by FOP,很自然就想着应该是FOP不支持table-layout="auto"。顺着该思路,想尽一切办法应对FOP中表格的问题,浪费了整整一晚上,无果而终。
沮丧之余,回想之前既然能够顺利生成PDF,说明FOP即使当前不支持table-layout="auto",但也能应付上面的情况,FOP的表格功能应该不会有问题。回头再看出错信息,"OutOfMemoryError",内存溢出!
fop.bat文件中最后一行调用了java:
"%JAVACMD%" %JAVAOPTS% %LOGCHOICE% %LOGLEVEL% -cp "%LOCALCLASSPATH%" org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS%
将其修改为:
"%JAVACMD%" -Xmx1024m %JAVAOPTS% %LOGCHOICE% %LOGLEVEL% -cp "%LOCALCLASSPATH%" org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS%
我的爱机内存为4G,查看Windows任务管理器后,还余2G多可用,便将java在堆上默认的64M内存改为1G。重新调用fop.bat,终于顺利生成了PDF文件。
真是FOP也为内存而疯狂!
分享到:
相关推荐
fop.jar
apache fop1.0及依赖的jar包
fop xml转换pdf工具 bin包,最新1.1版本
fop转pdf中文字体配置文件,可以实现pdf显示中文
Apache Fop工具,编写xs文件l生成PDF文件,编写xsl参考xsl语言,000.bat为启动脚本,数据文本在\fop\fop-1.1\data.xml里面,demo只有一个,没上传多个例子,慢慢琢磨
fop-0.20.5.jar,fop-0.20.5.jar,fop-0.20.5.jar,fop-0.20.5.jar,
FOP (Formatting Objects Processor) 是第一个基于XSL:FO的打印格式处理器,也是第一个与输出无关的格式处理器。
PDF转化工具库 Apache FOP fop-1.1rc1-bin
fop_0.20.5-8_all.deb fop_0.20.5-8_all.deb
fop-0.20.5.jar ecside 依赖包之一fop-0.20.5.jar ecside 依赖包之一fop-0.20.5.jar ecside 依赖包之一
FOP 打印方面的资料,以spring框架为例子整理的文档
Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL formatting objects (XSL-FO) and an output independent formatter. It is a Java application that reads a formatting object ...
pdf转换类Apache FOP 1.0-bin
FOP 生成PDF的详细设置,及生成Sample代码
本例采用FOP根据xsl模板将xml格式数据转化为PDF文档,支持中文
使用fop进行html到PDF文件的生成
xsl-fo 语言 作为xml的模板 用FOP工具生成PDF,如有疑问 sinbh@163.com
FOP相关资源及JAR包共享 希望能帮助到大家
batik-1.5-fop-0.20-5.zipbatik-1.5-fop-0.20-5.zipbatik-1.5-fop-0.20-5.zip