Oralce EBS R12 xml输出二维码

Oralce EBS R12 xml输出二维码


一、引入QRCode.jar

官网下载的QRCode.jar包是未经解析的,这里有其他人打好的包
下载链接
下载链接原贴

二、JSP程序代码

代码如下(示例)recode.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代表其它字符 。若条码字符串包含中文,则必须为B
qrcode.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.length>0 && d.length <43){
  boolean[][] b = qrcode.calQrcode(d);
  for (int i=0;i<b.length;i++){
    for (int j=0;j<b.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=null;
barString=null;	
%>







三、程序部署

R12的部署方式与11的部署方式不同:
1、将jsp文件recode.jsp上传至$OA_HTML目录下。
2、将QRCode.jar上传至/u01/install/APPS/apps/tech_st/10.1.3/j2ee/home/applib目录下。
3、修改
5、手动编译:perl -x $APPL_TOP/fnd/12.0.0/patch/115/bin/ojspCompile.pl --compile -s ‘recode.jsp’ --flush -log recode.log
在这里插入图片描述
目录下也会生成一个类文件_recode.class,若对应的文件没有生成,则说明jsp文件也没有编译成功!

6、重新启动Apache。

四、修改RTF模板

在用word将对应的RTF模板打开,在你想显示二维码的位置上添加一个图片当做占位符,然后对这个图片右键—设置图片格式—网站(可选文字),在这个框中填写你想要指向的jsp文件路径。
大体上格式为url:{},在{}内指向的jsp路径。
例如:url:{‘http://ip:端口/工程名/路径/XXX.jsp?BARCODE=12345’}

生成的二维码:
在这里插入图片描述
若需要动态传参
例如:url:{concat(‘http://ip:端口/工程名/路径/XXX.jsp?传参=’,pram,’/’,pram,’/’)},
pram是动态的参数根据实际需要自己取,
/ 为分隔符,可以根据自己需要随意填写。

五、总结

QRCode.jar包和jsp程序,经过测试可以使用,也可以自己用TOMCAT搭建服务器测试,QRCode.jar包和jsp程序。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值