首页 / 二维码 / Java生成并打印二维码
Java生成并打印二维码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java生成并打印二维码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2810字,纯文字阅读大概需要5分钟。
内容图文
本次做订餐系统中,需要用到在Java生成二维码,并在jsp页面打印并输出,其中在action中生成二维码.
关键代码如下
1 public void reWeiMa() throws Exception{ 2//设置页面不缓存 3 HttpServletResponse response = ServletActionContext.getResponse(); 4 HttpServletRequest quest = ServletActionContext.getRequest(); 5 Domain domain=domainService.getIp(); 6if(domain!=null){ 7 String IP =domain.getIp(); 8 response.setHeader("Pragma","No-cache"); 9 response.setHeader("Cache-Control","no-cache"); 10 response.setDateHeader("Expires", 0); 1112 BufferedImage image=null; 13 ServletOutputStream stream = null; 14//二维码的图片格式 15 String format = "gif"; 16 String path= quest.getScheme() + "://"+IP+ ":" + quest.getServerPort()+ quest.getContextPath() + "/"; 17 String content=path+"OrderDetail_getMenuMaterial?menuId="+menuId; 18int width2 = 200; 19int height2 = 200; 2021 Hashtable hints = new Hashtable(); 22//内容所使用编码 23 hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); 2425try{ 26 BitMatrix bitMatrix = new MultiFormatWriter().encode(content,BarcodeFormat.QR_CODE, width2, height2, hints); 27int width = bitMatrix.getWidth(); 28int height = bitMatrix.getHeight(); 29 image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 30for (int x = 0; x < width; x++) { 31for (int y = 0; y < height; y++) { 32 image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF); //二维码图片为黑白两色33 } 34 } 35//ImageIO.write(image,"gif",response.getOutputStream());36 }catch (Exception e) { 37// TODO: handle exception38 } 39//只有用这种解码方式才不出现乱码40 String s="attachment;filename="+new String("No"+menuId+".gif"); 41 response.addHeader("Content-Disposition",s); 42 OutputStream os=new BufferedOutputStream(response.getOutputStream()); 43 response.setContentType("image/gif"); 44 ImageIO.write(image,format,os); 45 os.flush(); 46 os.close(); 47 }else{ 48 String messige="未添加域名,暂无法打印二维码"; 49 request.put("messige", messige); 50 } 51 }
jsp页面代调用生成二维码方法后,返回到打印二维码jsp中,代码如下
1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 2 pageEncoding="ISO-8859-1"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <div style="text-align:center;"> 11 <img src="${rootPath}/OrderDetail_reWeiMa?menuId=${menuId}"> 12 </div> 1314 <script type="text/javascript"> 15 window.onload = function(){ 16 window.print() 17 window.close()//打印后返回到原界面 18 } 1920 </script> 21 </body> 22 </html>
在这里的思路是在action生成的的二维码放入src标签中,直接打印整个jsp,在这个过程中,遇到了一个问题,原本调用Java内部print方法来打印二维码,但在这个过程中遇到系统无法找到指定路径,(二维码生成在服务器上,浏览器调用服务器内容),最后使用简便方法,直接打印整个jsp页面.
原文:http://www.cnblogs.com/wqja/p/7236772.html
内容总结
以上是互联网集市为您收集整理的Java生成并打印二维码全部内容,希望文章能够帮你解决Java生成并打印二维码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。