网站大量收购独家精品文档,联系QQ:2885784924

Oracle-EBS-JSP实现QRCode二维条码.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XXXXX科技有限公司Oracle EBS JSP实现QRCode二维条码文档作者:陈显平创建日期:2018-6-6更新日期:2018-6-6文档编号:当前版本:V1.0审批签字:项目关键用户IBM项目经理文档控制变更记录1日期作者版本变更说明2018-6-6陈显平1.0初版审阅姓名职位分发拷贝编号姓名位置/岗位资料室主管项目资料室项目组成员目录文档控制ii需求背景4业务需求4应用范围4前提条件4JSP QR Code开发5实现原理5JSP程序代码5程序部署7Qrcode包部署7JSP部署7异常问题处理9JSP执行错误9中文参数值问题9遗留和解决问题11未解决问题11已解决问题11需求背景由于客户或公司内部要求,在签标贴纸上打印二维条码。另外,自己架建Tomcat Web服务是PC机,通过JSP也是可以实现打印二维条码,由于PC机不稳定,每隔一段时间PC机会宕机,给我们带比较大的困扰。业务需求为了解XML报表或者Oracle Report Builder打印批量打印二维条码,并且JSP必须是部署在Oracle EBS应用服务层中。应用范围生产任务单对料单消银标签贴纸箱子标签贴纸前提条件Java基础知识JSP基础知识Linux 常用命令如VI二维条码QR Code包,如下:Oracle EBS服务命令JSP QR Code开发实现原理利用JSP和Java文件流实现动态生成二维条码图片,该图片无需保存。JSP程序代码如下代码文件:%@ page language=java import=java.util.* import = java.awt.* import = java.awt.Graphics2D import = java.awt.image.BufferedImage import = javax.imageio.* import = com.swetake.util.Qrcode%%Qrcode qrcode=new Qrcode();//获得条码字符串参数String barCode=request.getParameter(BARCODE)==null?No String,Please check!:request.getParameter(BARCODE);barCode=new String(barCode.getBytes(iso-8859-1),utf-8); //解决中文乱码问题qrcode.setQrcodeErrorCorrect(S);//纠错级别(L 7%、M 15%、Q 25%、H 30%)和版本有关qrcode.setQrcodeEncodeMode(B); //N代表数字,A代表a-Z,B代表其它字符。若条码字符串包含中文,则必须为Bqrcode.setQrcodeVersion(3); //设置Qrcode包的版本//int size=8;//设置下偏移量,如果不加偏移量,有时会导致出错。int pixoff = 2; String barString = barCode;byte[] d =barString.getBytes(UTF-8);BufferedImage bi = new BufferedImage(size*29+3, size*29+3, BufferedImage.TYPE_BYTE_GRAY);Graphics2D g = bi.createGraphics();g.setBackground(Color.WHITE);g.clearRect(0, 0, size*29+3, size*29+3);g.setColor(Color.BLACK);if (d.length0 d.length 43){ boolean[][] b = qrcode.calQrcode(d); for (int i=0;ib.length;i++){ for (int j=0;jb.length;j++){ if (b[j][i]) { g.fillRect(j*size+pixoff,i*size+pixoff,size,size); } } }}g.dispose();bi.flush();out.clear();ServletOutputStream responseOutputStream=response.getOutputStream();ImageIO.write(bi,png,responseOutputStream);//生成图片文件流responseOutputStream.flush();responseOutputStream.close();bi=null;g=null;qrcode=null;d

文档评论(0)

js1180 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档