使用JasperReports在每个页面上为折叠机创建OMR图像

时间:2010-12-22 09:39:23

标签: java image jasper-reports optical-mark-recognition

我们的发票系统需要在发票的每一页上打印OMR(光学标记识别)符号,以便折叠机知道要放入信封中的内容,以便在每页上放置少量PNG图片。   我们的发票由主报告和两个在特殊.jrxml文件中创建的子报告组成。通过在http请求中传递页码作为参数来调用Web服务来生成图片。因此,我们需要将图片合并到子报告中,希望子报告在生成文档时“知道”实际页码。我们得到的错误是:

Error filling print... Could not resolved style(s): pdf 
net.sf.jasperreports.engine.JRRuntimeException: Could not resolved style(s): pdf      at 
net.sf.jasperreports.engine.fill.JRFillObjectFactory.checkUnresolvedReferences(JRFillObjectFactory.java:1610)      at 
net.sf.jasperreports.engine.fill.JRFillObjectFactory.setStyles(JRFillObjectFactory.java:1537)      at 
net.sf.jasperreports.engine.fill.JRBaseFiller.loadStyles(JRBaseFiller.java:962)      at 
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:835)      at 
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:782)      at 
net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:532)      at 
net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:63)      at
 net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:209)      at
 java.lang.Thread.run(Unknown Source)

我们正在使用JasperReports 3.0.0 - 迁移到较新版本需要进行大量更改,因此我们现在需要更新版本。

2 个答案:

答案 0 :(得分:1)

通过将图片放到主报告中称为“背景”的乐队上来解决。每页定期显示图片一次。

答案 1 :(得分:0)

有一个很棒的应用程序称为邮件标记,它会将OMR标记放在您喜欢的任何文档上。它允许您根据需要配置OMR标记,以便与任何文件夹插入器兼容。您可以找到更多信息并下载评估here