web项目中使用标签打印机打印条形码及二维码
来源:互联网 发布:cs有网络版本吗 编辑:程序博客网 时间:2024/05/20 04:27
在页面上通过“打印”按钮,打印div内容,实现标签的打印(含有条形码和二维码)。
操作步骤:1,加载js,jquery-1.3.2.min.js 引用jquery。
jquery-barcode-2.0.1.js 引用条形码
jquery.qrcode.min.js 引用二维码
LodopFuncs.js web打印控件
2,获取二维码后台实现:
EncodeHandle。java
package wlrc.com;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.OutputStream;import javax.imageio.ImageIO;import com.google.zxing.common.BitMatrix; public class EncoderHandler { // Fieldsprivate static final int BLACK = 0xFF000000;private static final int WHITE = 0xFFFFFFFF;// Empty constructorprivate EncoderHandler() {}// Methods/** * 获取BufferedImage * @param matrix:BitMatrix * @return BufferedImage */public static BufferedImage toBufferedImage(BitMatrix matrix) {int width = matrix.getWidth();int height = matrix.getHeight();BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);for (int x = 0; x < width; x++) {for (int y = 0; y < height; y++) {image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);}}return image;}/** * 将二维码输出到流 * @param matrix:BitMatrix * @param format:图片格式 * @param stream:OutputStream * @throws IOException */public static void writeToStream(BitMatrix matrix, String format,OutputStream stream) throws IOException {BufferedImage image = toBufferedImage(matrix);if (!ImageIO.write(image, format, stream)) {throw new IOException("Could not write an image of format "+ format);}}}
调用二维码生成的servlet
package wlrc.com;import java.io.IOException; import java.util.Hashtable; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.WriterException;import com.google.zxing.common.BitMatrix;/** * @author uimagine * 二维码生成Servlet */public class CodeServlet extends HttpServlet {/** * Default SerialVersionUID */private static final long serialVersionUID = 1L;/** * doGet */@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String code = request.getParameter("code");String qrcode = request.getParameter("qrcode"); int width = 300; int height = 300; // 二维码的图片格式 String format = "gif"; Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>(); // 内容所使用编码 hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); ServletOutputStream stream = response.getOutputStream(); try {BitMatrix bitMatrix = null;if(qrcode!=null){bitMatrix = new MultiFormatWriter().encode(qrcode, BarcodeFormat.QR_CODE, width, height, hints);}if(code!=null){width = 505; height = 50; bitMatrix = new MultiFormatWriter().encode(code, BarcodeFormat.CODE_128, width, height, null);}EncoderHandler.writeToStream(bitMatrix, format, stream);} catch (WriterException e) {e.printStackTrace();} stream.flush(); stream.close(); response.flushBuffer(); }/** * doPost */@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}}
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>CodeServlet</servlet-name> <servlet-class>wlrc.com.CodeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CodeServlet</servlet-name> <url-pattern>/CodeServlet.do</url-pattern> </servlet-mapping></web-app>
3,jsp前台页面调用
(1),加载javascript
<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0 pluginspage="install_lodop.exe"></embed></object> <pre class="javascript" name="code"><script type="text/javascript">
function load(){ $("#bcTarget_tiaoxingma").barcode({code: "1234567", crc:false}, "int25",{barWidth:2, barHeight:20}); } //bcTarget5中ie8一下render用table ie9以上用canvas 两个不同的渲染 var LODOP; //声明为全局变量 function printme_1(){LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM')); var strFormHtml="<body style='margin-top: 15px;margin-left: 15px;'>"+document.getElementById ('biaoqian').innerHTML+"</body>"strFormHtml.replace('<div','<span'); strFormHtml.replace('</div','</span'); LODOP.SET_PRINT_PAGESIZE(1,600,400,''); LODOP.ADD_PRINT_HTM(0,0,600,450,strFormHtml); LODOP.PREVIEW();
LODOP.print();}</script>
(2)创建打印的div
<div id="biaoqian" style="width: 200px;height: 80px;margin-top: 0px; "> <div id="bcTarget_erweima" style="margin-left: 0px;margin-top: 0px;width: 50px; display: inline; margin-bottom: 0px;"><img style="height:65px;width:65px" src="${pageContext.request.contextPath}/CodeServlet.do?qrcode=zhangsan" /> </div> <div id="bcTarget_tiaoxingma" style="width:150px;height:40px;display: inline;margin : 0px 0px 0px 5px;"></div></div>
(3)打印div
<input type="button" value="dayin" onclick="printme_1();" />
- web项目中使用标签打印机打印条形码及二维码
- TSC 标签打印机,使用TSPL指令,前端 jsp 调用打印二维码和文本标签的案例
- web条形码+打印
- 在Android中使用 Google ZXing 实现二维码、条形码扫描
- 在Android中使用 Google ZXing 实现二维码、条形码扫描
- 在iOS中使用ZBar扫描二维码和条形码
- 在iOS中使用ZBar扫描二维码和条形码
- iOS开发中使用CIFilter生成二维码和条形码
- HTML页面中条形码或二维码扫描枪的使用
- 条形码和二维码 生成以及打印
- Android - 条形码和二维码使用
- Web项目中使用RDLC报表可以打印吗?
- Web项目中使用RDLC报表可以打印吗?
- studio集成二维码及条形码扫描
- 条形码打印控件的使用
- (android 开源项目)二维码、条形码扫描——使用Google ZXing .
- 条形码/二维码
- 二维码 条形码
- 输入框
- 一个小小的函数(连续删除List中符合条件的一个或多个值)
- left join,inner join,right join,cross join,full join的区别
- 现在公开一个DHT网络爬虫网络爬虫供大家一起交流
- 开源聊天框架
- web项目中使用标签打印机打印条形码及二维码
- C# 日志操作
- gcc g++编译选项
- C#中好用的类
- git的学习笔记整理
- 关于JList的无法获得被选中项的问题
- JVM垃圾回收(GC)原理
- Java 开源项目
- 安装Greenplum-cc-web监控软件