拖动一个barcode元素,属性设置如下

预览扫码

大功告成。
如果想传参,在Fields里添加barcode字段,点击codeExpression,双击barcode Fileld String 绿色部分自己出来,当然也可以手动写

预览里输入参数值123456789即可。

java调用时 parameter从java里传参,将@ireport5.6.0分组显示中java代码里,设置map.put("barcode","123456789");即可
@RequestMapping("/test")
@ResponseBody
public void test(HttpServletRequest req,HttpServletResponse res) throws Exception{
Map<String, Object> map = new HashMap<String, Object>();
map.put("barcode","123456789");
String realPath = ClassUtils.getDefaultClassLoader().getResource("").getPath();//项目根目录。该处是springboot方式
ServletContext context = req.getSession().getServletContext();
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(context);
DataSource dbSource = (DataSource) wac.getBean("dataSource"); // 配置文件里的beanid
Connection conn = dbSource.getConnection();
byte[] bytes = JasperRunManager.runReportToPdf(realPath + "ireport/report1.jasper", map, conn);
res.setContentType("application/pdf");
res.setContentLength(bytes.length);
ServletOutputStream out = res.getOutputStream();
out.write(bytes, 0, bytes.length);
out.flush();
out.close();
}
附maven依赖(barbecue),否则会报异常java.lang.ClassNotFoundException: net.sourceforge.barbecue.BarcodeException
<dependency>
<groupId>net.sourceforge.barbecue</groupId>
<artifactId>barbecue</artifactId>
<version>1.5-beta1</version>
</dependency>
原文:https://www.cnblogs.com/yanan7890/p/12038587.html