在我们的软件中,我们使用Apache FOP 0.20.5(我知道这是一个旧版本,我们无法更新它,因为它是我们软件的旧版本)来创建“漂亮”风格的报告。我们通过将PDF导入InkScape然后从中生成SVG的XML来创建一个特别的。将此特定表单发送到打印机(通过-print选项)时,需要特别长的时间,即5分钟以上。当我进行打印预览(-awt)或直接将其发送到pdf(-pdf)时,它几乎不需要任何时间,但文本具有重要的伪像,甚至不可读。
我们使用大量具有独特/复杂样式表的其他报表/表单来完成此操作而没有我所知道的问题。有没有人知道这里会发生什么?理想情况下我会解决速度问题,但只需删除-pdf版本上的工件即可。我已经手动完成了InkScape创建的xsl,并尝试删除任何非关键的东西,但它似乎没有任何区别。
无论他们有多远,都愿意听到任何想法。
编辑:忘了提到这个错误在打印过程中吐出数百(数千)次:
Graphics2D from BufferedImage lacks BUFFERED_IMAGE hint
答案 0 :(得分:0)
我明白了:
InkScape的输出为我的每个图层添加了<g>
个标记。显然,FOP需要2个完整数量级的时间才能处理这些问题。
我把所有的<g>
和我的5分钟的东西拉出来,在5秒内神奇地渲染出来。