java 二维码生成及其标签打印

本文主要内容

  • 二维码生成
  • 二维码标签预览及打印

二维码生成

笔者此次的二维码是通过调用第三方接口生成的,具体流程如下:

  1. 根据规范要求调用第三方接口,返回二维码下载地址及二维码图片的属性值(图片大小等)
  2. 根据返回的值获取二维码下载地址,根据地址下载二维码图片,保存至本地磁盘及记录数据信息
  3. 扫描二维码跳转相应地址,显示资产的基本信息
  4. 最终生成的二维码如下图所示:
    在这里插入图片描述

预览并批量打印二维码标签

先给大家看最终预览效果:
在这里插入图片描述
事先配置好标签打印机(标签亚银纸、树脂碳带等),点击右上方打印按钮,即可打印。打印标签效果如图:
在这里插入图片描述

前端

目前前端用的是 easyui,直接上代码:

{
   
                    id: 'print',
                    text: '打印',
                    iconCls: 'icon-print',
                    handler: function () {
   
                        var rows = $('#dg').datagrid('getSelections');
                        if (rows.length > 0) {
   
                            var ids = "";
                            for (var i = 0; i < rows.length; i++) {
   
                                ids += rows[i].ID + ","
                            }
                            var id = ids.substring(0, ids.length - 1);
                            window.open("${hostPrefix}swjEqu/qrCodeManageAction!printQr.action?id=" + id);
                        } else {
   
                            alert("请选择一条记录!");
                        }
                    }
                }

后端

主要用 itextPdf 处理


package com.whread.common.web.action;

import com.opensymphony.xwork2.ActionSupport;

import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.ParameterAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@SuppressWarnings("serial")
public class BaseAction extends ActionSupport implements ServletRequestAware,
		ServletContextAware, ServletResponseAware, SessionAware,
		ApplicationAware, ParameterAware {
   

	protected HttpServletRequest request;
	protected HttpServletResponse response;
	protected HttpSession httpSession;
	protected Map session;
	protected Map parameters;
	protected Map application;
	private ServletContext servletContext;
	protected String msg;

	protected Logger log = Logger.getLogger(this.getClass());

	public BaseAction() {
   
		super();
	}

	public HttpServletRequest getServletRequest() {
   
		return this.request;
	}

	public void setServletRequest(HttpServletRequest req) {
   
		this.request = req;
		if (request != null) {
   
			this.httpSession = request.getSession();
		}
	}

	public HttpSession getHttpSession() {
   
		return this.httpSession;
	}

	public HttpServletResponse getServletResponse() {
   
		return this.response;
	}

	public void setServletResponse(HttpServletResponse rep) {
   
		this.response = rep;
	}

	public Map getSession() {
   
		return this.session;
	}

	public void setSession(Map session) {
   
		this.session = session;
	}

	public ServletContext getServletContext() {
   
		return this.servletContext;
	}

	public void setServletContext(ServletContext servletContext) {
   
		this.servletContext = servletContext;
	}

	public Map getApplication() 
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值