java使用jbarcode生成條形碼
準備工作:
開發工具:eclipse4.5+jdk1.7
所需jar包:jbarcode-0.2.8.jar
案例:
- package jbarcode;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.FileNotFoundException;
-
import
- import java.io.IOException;
- import java.io.OutputStream;
- import java.util.ArrayList;
- import java.util.List;
- import org.jbarcode.JBarcode;
- import org.jbarcode.JBarcodeFactory;
- import org.jbarcode.encode.Code128Encoder;
-
import org.jbarcode.encode.InvalidAtributeException;
- import org.jbarcode.paint.TextPainter;
- import org.jbarcode.util.ImageUtil;
- /**
- *@class:JbarcodeUtil
- *@descript:生成條形碼最標準
- *@date:2016年11月25日 下午1:46:07
- *@version:V1.0
- *備註:
- *1.靜態程式碼塊的作用:當類被載入時,靜態程式碼塊被執行,且只被執行一次,靜態塊常用來執行類屬性的初始化。
-
*2.常量條形碼的高度和字型大小設定很重要,若是設定小了會看不到設定的檔案
- */
- publicclass JbarcodeUtil {
- //設定條形碼高度
- privatestaticfinalint BARCODE_HEIGHT = 40;
- //設定條形碼預設解析度
- privatestaticfinalint BARCODE_DPI = ImageUtil.DEFAULT_DPI;
- //設定條形碼字型樣式
- privatestaticfinal String FONT_FAMILY = "console";
- //設定條形碼字型大小
- privatestaticfinalint FONT_SIZE = 15;
- //設定條形碼文字
- publicstatic String TEXT = "";
- //建立jbarcode
- privatestatic JBarcode jbc = null;
- static JBarcode getJBarcode() throws InvalidAtributeException {
- /**
- * 參考設定樣式:
- *barcode.setEncoder(Code128Encoder.getInstance()); //設定編碼
- *barcode.setPainter(WidthCodedPainter.getInstance());// 設定Painter
- *barcode.setTextPainter(BaseLineTextPainter.getInstance()); //設定TextPainter
- *barcode.setBarHeight(17); //設定高度
- *barcode.setWideRatio(Double.valueOf(30).doubleValue());// 設定寬度比率
- *barcode.setXDimension(Double.valueOf(2).doubleValue()); // 設定尺寸,大小 密集程度
- *barcode.setShowText(true); //是否顯示文字
- *barcode.setCheckDigit(true); //是否檢查數字
- *barcode.setShowCheckDigit(false); //是否顯示檢查數字
- */
- if (jbc == null) {
- //生成code128
- jbc = JBarcodeFactory.getInstance().createCode128();
- jbc.setEncoder(Code128Encoder.getInstance());
- jbc.setTextPainter(CustomTextPainter.getInstance());
- jbc.setBarHeight(BARCODE_HEIGHT);
- jbc.setXDimension(Double.valueOf(0.8).doubleValue());
- jbc.setShowText(true);
- }
- return jbc;
- }
- /**
- * @descript:生成條形碼檔案
- * @param message 條形碼內容
- * @param file 生成檔案
- */
- publicstaticvoid createBarcode(String message, File file,String text) {
- try {
- FileOutputStream fos = new FileOutputStream(file);
- createBarcode(message, fos,text);
- fos.close();
- } catch (IOException e) {
- thrownew RuntimeException(e);
- }
- }
- /**
- * @descript:生成條形碼並寫入指定輸出流
- * @param message 條形碼內容
- * @param os 輸出流
- */
- publicstaticvoid createBarcode(String message, OutputStream os,String text) {
- try {
- //設定條形碼文字
- TEXT=text;
- //建立條形碼的BufferedImage影象
- BufferedImage image = getJBarcode().createBarcode(message);
- ImageUtil.encodeAndWrite(image, ImageUtil.PNG, os, BARCODE_DPI, BARCODE_DPI);
- os.flush();
- } catch (Exception e) {
- thrownew RuntimeException(e);
- }
- }
- /**
- * 靜態內部類
- * 自定義的 TextPainter, 允許定義字型,大小,文字等
- * 參考底層實現:BaseLineTextPainter.getInstance()
- */
- protectedstaticclass CustomTextPainter implements TextPainter {
- privatestatic CustomTextPainter instance =new CustomTextPainter();
- publicstatic CustomTextPainter getInstance() {
- return instance;
- }
- publicvoid paintText(BufferedImage barCodeImage, String text, int width) {
- //繪圖
- Graphics g2d = barCodeImage.getGraphics();
- //建立字型
- Font font = new Font(FONT_FAMILY, Font.PLAIN, FONT_SIZE * width);
- g2d.setFont(font);
- FontMetrics fm = g2d.getFontMetrics();
- int height = fm.getHeight();
- int center = (barCodeImage.getWidth() - fm.stringWidth(text)) / 2;
- g2d.setColor(Color.WHITE);
- g2d.fillRect(0, 0, barCodeImage.getWidth(), barCodeImage.getHeight() * 1 / 20);
- g2d.fillRect(0, barCodeImage.getHeight() - (height * 9 / 10), barCodeImage.getWidth(), (height * 9 / 10));
- g2d.setColor(Color.BLACK);
- //繪製文字
- g2d.drawString(TEXT, 0, 145);
- //繪製條形碼
- g2d.drawString(text, center, barCodeImage.getHeight() - (height / 10) - 2);
- }
- }
- //測試
- publicstaticvoid main(String[] args) throws FileNotFoundException, IOException {
- List<String> list=new ArrayList<String>();
- list.add("KJ4.1-0127-0001");
- list.add("KJ4.1-0128-0001");
- list.add("KJ4.1-0129-0001");
- list.add("KJ4.1-0130-0001");
-
if(list!=null
相關推薦
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
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
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",//選擇要使用的條形碼型別
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
12行程式碼教會你用python讀excel檔案,提取資料,生成條形碼
一、需求分析 條形碼應用廣泛,尤其是人事、財務和庫管等等崗位,常需根據excel檔案成批生成條碼,如果是經常性天天做,用excel的自己控制元件還是很枯燥煩人的。 當然在學習Python的道路上肯定會困難,沒有好的學習資料,怎麼去學習呢?  
Android 生成條形碼 生成下方帶文字的條形碼
可以使用Zxing來獲得條形碼的bitmap. 1.繪製帶有文字的條形碼 由於直接不能繪製出帶有文字的條形碼. 我想到的解決方案是 需要繪製的條形碼的高度的 3/4給條形碼 1/4給文字. 先繪製條形碼 得到bitmap 在建立bitmap 在底部繪製文字,合併兩個bitma
vue中生成條形碼
//安裝條形碼外掛 npm install @xkeshi/vue-barcode 在main.js中引入 import VueBarcode from '@xkeshi/vue-barcode'; //匯入條形碼外掛 Vue.component('barcode',
10行程式碼教你用Python掃描Excel表格,自動生成條形碼!
一、需求分析 條形碼應用廣泛,尤其是人事、財務和庫管等等崗位,常需根據excel檔案成批生成條碼,如果是經常性天天做,用excel的自己控制元件還是很枯燥煩人的。 當然在學習Python的道路上肯定會困難,沒有好的學習資料,怎麼去學習呢? 學習Python
zxing 生成條形碼
private Bitmap Out1DImg() { // 1.設定條形碼規格 EncodingOptions encodeOption = new EncodingOptions(); encodeOp
tp3.2 生成條形碼
//條形碼 public function barcodegen() { //vendor 資料夾下面 vendor('barcodegen.class.BC
java使用jbarcode生成條形碼
準備工作: 開發工具:eclipse4.5+jdk1.7 所需jar包:jbarcode-0.2.8.jar 案例: package jbarcode; import java.awt.Color; import java.awt.Font;
生成條形碼顯示到介面
<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">