1. 程式人生 > >生成條形碼顯示到介面

生成條形碼顯示到介面

<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">1、生成條形碼的java後臺程式碼如下,需要下載</span><a target=_blank target="_blank" href="http://download.csdn.net/detail/fzdswz/7985773" style="font-family: Arial; font-size: 14px; line-height: 26px; color: rgb(51, 102, 153); text-decoration: none; background-color: rgb(255, 255, 255);">jbarcode-0.2.8.jar</a>
  1. package com.xxx;  
  2. import java.awt.image.BufferedImage;  
  3. import java.io.ByteArrayOutputStream;  
  4. import java.io.IOException;  
  5. import javax.imageio.ImageIO;  
  6. import javax.servlet.ServletConfig;  
  7. import javax.servlet.ServletException;  
  8. import javax.servlet.http.HttpServlet;  
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpServletResponse;  
  11. import org.jbarcode.JBarcode;  
  12. import org.jbarcode.encode.Code128Encoder;  
  13. import org.jbarcode.encode.Code39Encoder;  
  14. import org.jbarcode.encode.EAN13Encoder;  
  15. import org.jbarcode.encode.InvalidAtributeException;  
  16. import org.jbarcode.paint.BaseLineTextPainter;  
  17. import org.jbarcode.paint.EAN13TextPainter;  
  18. import org.jbarcode.paint.WideRatioCodedPainter;  
  19. import org.jbarcode.paint.WidthCodedPainter;  
  20. publicclass BarCodeServlet extends HttpServlet {  
  21.     privatestaticfinallong serialVersionUID = 1L;  
  22.     private JBarcode jBarcode;  
  23.     /** 
  24.      * 初始化條形碼物件 
  25.      */
  26.     publicvoid init(ServletConfig conf) throws ServletException {  
  27.         super.init(conf);  
  28.         // 預設生成code39型別條形碼
  29.         jBarcode = new JBarcode(Code39Encoder.getInstance(),  
  30.                 WideRatioCodedPainter.getInstance(),  
  31.                 BaseLineTextPainter.getInstance());  
  32.         jBarcode.setShowText(true);// 顯示圖片下字串內容
  33.         jBarcode.setShowCheckDigit(true);// 顯示字串內容中是否顯示檢查碼內容
  34.         jBarcode.setCheckDigit(false);// 不生成檢查碼
  35.     }  
  36.     publicvoid doGet(HttpServletRequest req, HttpServletResponse resp)  
  37.             throws ServletException, IOException {  
  38.         resp.setContentType("image/gif");  
  39.         resp.setHeader("Pragma""no-cache");  
  40.         resp.setHeader("Cache-Control""no-cache");  
  41.         // 傳入的引數,
  42.         // 如果是判斷條件,則用0,1表示,‘0’即無效或者不現實,‘1’即有效或者顯示
  43.         // 字串引數
  44.         String msg = req.getParameter("msg");  
  45.         // 是否顯示圖片下字串內容
  46.         String showText = req.getParameter("st");  
  47.         // 是否顯示檢查碼內容
  48.         String showCheckDigit = req.getParameter("scd");  
  49.         // 是否生成檢查碼
  50.         String checkDigit = req.getParameter("cd");  
  51.         // 生成條形碼型別
  52.         String codeType = req.getParameter("codeType");  
  53.         //設定條形碼barHeight
  54.         String barH = req.getParameter("barH");  
  55.         //設定XDimension
  56.         String barXD = req.getParameter("barXD");  
  57.         // 判斷字串內容
  58.         if (msg == null)  
  59.             //msg = "788515004012";
  60.         // 判斷顯示圖片下字串內容
  61.         if ("0".equals(showText))  
  62.             jBarcode.setShowText(false);  
  63.         //判斷barHeight
  64.         if(barH != null && !barH.equals("")){  
  65.             double x = Double.valueOf(barH);  
  66.             jBarcode.setBarHeight(x);  
  67.         }  
  68.         if(barXD != null && !barXD.equals("")){  
  69.             try {  
  70.                 //jBarcode.setWideRatio(10);
  71.                 jBarcode.setXDimension(Double.valueOf(barXD));  
  72.             } catch (InvalidAtributeException e) {  
  73.                 // TODO Auto-generated catch block
  74.                 e.printStackTrace();  
  75.             }  
  76.         }else{  
  77.             try {  
  78.                 //jBarcode.setWideRatio(10);
  79.                 jBarcode.setXDimension(Double.valueOf(0.5));  
  80.             } catch (InvalidAtributeException e) {  
  81.                 // TODO Auto-generated catch block
  82.                 e.printStackTrace();  
  83.             }  
  84.         }  
  85.         // 判斷顯示檢查碼內容
  86.         if ("1".equals(showCheckDigit))  
  87.             jBarcode.setShowText(true);  
  88.         // 判斷生成檢查碼
  89.         if ("1".equals(checkDigit))  
  90.             jBarcode.setShowText(true);  
  91.         // 判斷生成條形碼型別
  92.         if(codeType != null && !"".equals(codeType)){  
  93.             if (codeType.equalsIgnoreCase("EAN13")) {  
  94.                 // EAN13條形碼基本屬性,必要新增條件
  95.                 jBarcode.setEncoder(EAN13Encoder.getInstance());  
  96.                 jBarcode.setPainter(WidthCodedPainter.getInstance());  
  97.                 jBarcode.setTextPainter(EAN13TextPainter.getInstance());  
  98.                 //必須需要以下屬性
  99.                 jBarcode.setCheckDigit(true);  
  100.             } elseif(codeType.equalsIgnoreCase("code128")){  
  101.                 jBarcode.setEncoder(Code128Encoder.getInstance());  
  102.                 jBarcode.setPainter(WidthCodedPainter.getInstance());  
  103.                 jBarcode.setTextPainter(BaseLineTextPainter.getInstance());  
  104.                 jBarcode.setCheckDigit(false);  
  105.                 jBarcode.setShowCheckDigit(false);  
  106.             }else{  
  107.                 // 這裡設定 根據不同的條件設定生成的條形碼基本屬性,如EAN13。
  108.                 // 通過if...else...來判斷即可
  109.                 // 預設生成的是Code39
  110.                 // 預設生成code39型別條形碼
  111.             }  
  112.         }  
  113.         // 生成條形碼,並通過輸出來展示在頁面上
  114.         try {  
  115.             ByteArrayOutputStream out = new ByteArrayOutputStream();  
  116.             BufferedImage localBufferedImage = jBarcode.createBarcode(msg);  
  117.             ImageIO.write(localBufferedImage, "png", out);  
  118.             byte[] b = out.toByteArray();  
  119.             resp.getOutputStream().write(b);  
  120.         } catch (InvalidAtributeException e) {  
  121.             e.printStackTrace();  
  122.         }  
  123.     }  
  124.     publicvoid doPost(HttpServletRequest req, HttpServletResponse resp)  
  125.             throws ServletException, IOException {  
  126.         try {  
  127.             doGet(req, resp);  
  128.         } catch (Exception e) {  
  129.             e.printStackTrace();  
  130.         }  
  131.     }  
  132. }  

2、前臺jsp顯示程式碼:傳遞的引數可以自己設定,參考java後臺程式碼jBarcode物件。

  1. <imgstyle="vertical-align:middle;"src="<%=request.getContextPath()%>/BarCodeServlet?msg=${placeOrderNo}&barH=12.2&barXD=0.4&codeType=code128"/>

3、在web.xml配置java類:

  1. <servlet>  
  2.      <servlet-name>BarCodeServlet</servlet-name>  
  3.      <servlet-class>com.xxx.BarCodeServlet</servlet-class>  
  4.   </servlet>  
  5.   <servlet-mapping>  
  6.      <servlet-name>BarCodeServlet</servlet-name>  
  7.      <url-pattern>/BarCodeServlet</url-pattern>  
  8.   </servlet-mapping>  

注:對於jBarcode的引數設定可以看引用的包裡面的org.jbarcode.demo的程式碼。支援多種格式的條形碼生成。

相關推薦

生成條形碼顯示介面

<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">

Powerdesigner數據庫反向生成PDM顯示中文

powerdesignerTools->Execute Commands->Edit/Runscript…執行以下腳本,在Powerdesigner從數據庫反向生成PDM時,NAME顯示中文。 Option ExplicitValidationMode = TrueInteractiveMode

c#生成條形碼

pac space content for enc txt direct line draw 一、生成EAN13的一維碼 // 1.設置條形碼規格 EncodingOptions encodeOption = new EncodingOptions(); encodeOp

Java使用barcode4j生成條形碼

new [] generate redirect eba app ray format runtime 1、將要使用到的jar包導入項目(1、commons-lang-2.3.jar 2、barcode4j-light-2.0.jar) 2、新建類 BarcodeUt

JS中將ajax請求返回json數據動態生成表格顯示在div中

等待 query 客戶端 versions 包含 index 方法 func 數據 1、頁面內容 <div style="width:900px;height:400px;" id="tableInfo"></div> 2、js內容 $.aja

php生成條形碼: barcodegen

isp 下載 orm osi lena ext .net embed cal 實例結構: 1. index.html <!DOCTYPE html> <html> <head> <title>Test with em

史上最簡潔C# 生成條形碼圖片思路及示例分享

else 應用 align current 有一個 += 類別 num namespace 在網上看到一些人寫關於條形碼的代碼都很長,有的甚至拿來賣,所以查了下資料,希望能對大家有幫助。 我的實現原理是: 其實Windows本身就有一個字體是用來顯示條形碼的。 只要將數字

C#實現用於生成條形碼的類

clas res ssi win 聲明 plugin 鏈表 用法 style 本文實例講述了C#實現用於生成條形碼的類。分享給大家供大家參考。具體如下: 這個C#類可以用來生成39碼 12位標準條形碼using System.Collections; using Syst

drupal7圖片樣式無法生成顯示

index.php In drupal AS 生成 類型 div bsp try_files 正常設置了圖像的樣式,並且為內同類型正確設置了顯示的樣式。但是上傳圖片後,卻並沒有在對應的文件夾下生成對應的縮略圖。自然沒有顯示。 網上查詢了一下,需要為nginx添加兩個設置:

PHP 生成條形碼

ret private 文件名 content rom head elf span truct <?php class BarCode128 { const STARTA = 103; const STARTB = 104; con

Java之生成條形碼、PDF、HTML

fort ges version lba oat 模型 base64 xsd solver 關於Java生成HTML,可參考我的這篇文章:FreeMarker之根據模型生成HTML代碼 當然了,該篇文章也會給你很多啟發,比如,根據html生成html,大家不要小看這個,著名

vue使用jsbarcode生成條形碼

1、安裝jsbarcode外掛 npm install jsbarcode --save 2、js匯入 import JsBarcode from 'jsbarcode' 3、呼叫方法生成 barcode () { JsBarcode("#barcode", "Hi

php barcode 生成條形碼

<?php // Including all required classes require_once('class/BCGFontFile.php'); require_once('class/BCGColor.php'); require_once('class/BCGDrawing

列印頁面 訂單號生成 條形碼

1.所用外掛JsBarcode 2.下載地址:https://github.com/lindell/JsBarcode 3.用法: <script> JsBarcode("#JsBarcode", "123", { format: "CODE39",//選擇要使用的條形碼型別

Swagger 生成 PHP API 介面文件

Swagger 生成 PHP API 介面文件 標籤(空格分隔): php 1、概況 有同學反饋寫幾十個介面文件需要兩天的工作量, 隨著多部門之間的協作越來越頻繁, 維護成本越來越高, 文件的可維護性越來越差, 需要一個工具來管理這些介面的文件, 並能夠充當mock server給呼叫方使用。 有

整合swagger2生成Restful Api介面文件 webapi文件描述-swagger

整合swagger2生成Restful Api介面文件 swagger Restful文件生成工具 2017-9-30 官方地址:https://swagger.io/docs/specification/about/ 官方Github:https://github.com/swagger-

6.1 vtkPolyData資料生成顯示

1.VTK影象處理引言 影象資料的應用非常廣泛,最貼近日常生活的應用是3D遊戲,其中每個角色的模型、場景等都是圖形資料。當然,遊戲僅僅是影象資料的一個應用點。圖形在CAD(計算機輔助設計)、影視、醫學、地質、氣象資料建模等領域中均有著廣泛的應用。vtkPolyData是VTK中常用的資料結構之一

python利用qt生成簡單ui介面

所需工具 pyqt5 安裝 sudo apt-get install python3-pyqt5 首先創造一個小指令碼, 展示一個空白視窗 import sys from PyQt5.QtWidgets import QApplication,QWidget clas

JBarcode生成條形碼(帶漢字)

 JBarcode生成條形碼(帶漢字);請注意Maven裡面現在沒有這個jar報的依賴,需要自己下載,並手動匯入Maven import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; impo

thinkphp5 Barcodegen 生成條形碼

自己的資源包:https://download.csdn.net/download/qq_27229113/10689077 官方庫所需庫下載地址:https://www.barcodebakery.com/en/resources/api/php/databarexpanded