为什么FOP需要这么长时间才能将此文档发送到打印机?

时间:2010-10-13 16:52:08

标签: xsl-fo apache-fop

在我们的软件中,我们使用Apache FOP 0.20.5(我知道这是一个旧版本,我们无法更新它,因为它是我们软件的旧版本)来创建“漂亮”风格的报告。我们通过将PDF导入InkScape然后从中生成SVG的XML来创建一个特别的。将此特定表单发送到打印机(通过-print选项)时,需要特别长的时间,即5分钟以上。当我进行打印预览(-awt)或直接将其发送到pdf(-pdf)时,它几乎不需要任何时间,但文本具有重要的伪像,甚至不可读。

我们使用大量具有独特/复杂样式表的其他报表/表单来完成此操作而没有我所知道的问题。有没有人知道这里会发生什么?理想情况下我会解决速度问题,但只需删除-pdf版本上的工件即可。我已经手动完成了InkScape创建的xsl,并尝试删除任何非关键的东西,但它似乎没有任何区别。

无论他们有多远,都愿意听到任何想法。

编辑:忘了提到这个错误在打印过程中吐出数百(数千)次:

Graphics2D from BufferedImage lacks BUFFERED_IMAGE hint

1 个答案:

答案 0 :(得分:0)

我明白了:

InkScape的输出为我的每个图层添加了<g>个标记。显然,FOP需要2个完整数量级的时间才能处理这些问题。

我把所有的<g>和我的5分钟的东西拉出来,在5秒内神奇地渲染出来。