barcode4j詳細介紹

一、背景

barcode4j是一個Java庫,用於生成常見的一維和二維條形碼。它支持多種關鍵的條形碼標準,包括Code 39、Code 128、EAN-13、PDF417和QR Code等。barcode4j提供了簡單易用的API,使用者可以選擇各種選項,如條形碼的尺寸、顏色和字體等。

二、安裝和使用

barcode4j可以通過Maven自動下載和設置。在pom.xml文件中加入以下代碼即可:

<dependency>
    <groupId>net.sf.barcode4j</groupId>
    <artifactId>barcode4j-fop-ext</artifactId>
    <version>2.1</version>
</dependency>

在Java項目中使用barcode4j非常簡單,只需導入相應的包即可開始生成條形碼。以下是生成Code 128條形碼的簡單示例:

import java.io.*;
import org.krysalis.barcode4j.impl.code128.Code128Bean;
import org.krysalis.barcode4j.output.bitmap.*;
 
public class BarcodeGenerator {
 
    public static void main(String[] args) {
 
        try {
            Code128Bean bean = new Code128Bean();
 
            final int dpi = 150;
 
            // 配置bean
            bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi)); // 設置每個模塊的寬度
            bean.doQuietZone(false); //設置兩側的空白寬度
            bean.setHeight(15); // 設置高度
 
            OutputStream out = new FileOutputStream(new File("mycode128.png"));
            BitmapCanvasProvider canvas = new BitmapCanvasProvider(out, "image/png", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);
 
            bean.generateBarcode(canvas, "Hello, world!"); //自定義內容
            canvas.finish();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

該代碼將生成名為”mycode128.png”的文件,其中包含所需的條形碼。

三、條形碼類型和用途

barcode4j支持多種條形碼標準,每種標準都有其獨特的用途和特性。

1、Code 39

Code 39條形碼是一種常用的低密度線性碼,用於標識文本信息,如貨架標籤、庫存追蹤和物流標籤等。碼字包括數字(0-9)、字母(A-Z)和幾個特殊字符。Code 39最初是由Integrators Corporation在1974年為美國汽車工業的一項標準而開發的。

以下是生成Code 39條形碼的示例代碼:

Code39Bean bean = new Code39Bean();
final int dpi = 150;

// 設置模塊寬度
bean.setModuleWidth(UnitConv.in2mm(2.0f / dpi));

// 設置兩側的空白寬度
bean.doQuietZone(false);

//配置要輸出的內容
String code = "BARCODE39";
BarcodeDimension dim = bean.calcDimensions(code);
double width = dim.getWidthPlusQuiet();

// 設置條形碼的大小
bean.setWideFactor(3);
bean.setHeight(10);

BitmapCanvasProvider canvas = new BitmapCanvasProvider(
        out, "image/x-png", dpi,
        BufferedImage.TYPE_BYTE_BINARY, false, 0);

bean.generateBarcode(canvas, code);
canvas.finish();

2、Code 128

Code 128條形碼是一種更顯密度的線性碼,這意味着它可以存儲更多的信息,適用於需要高密度和高容量的應用,如電子商務、物流和生產管理等。Code 128能夠編碼128個字符集(即ASCII中的每個字符)。

以下是生成Code 128條形碼的示例代碼:

Code128Bean bean = new Code128Bean();
final int dpi = 150;

// 設置每個模塊的寬度
bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi));

// 設置兩側的空白寬度
bean.doQuietZone(false);

// 設置條形碼的高度
bean.setHeight(15);

BitmapCanvasProvider canvas = new BitmapCanvasProvider(
        out, "image/x-png", dpi,
        BufferedImage.TYPE_BYTE_BINARY, false, 0);

bean.generateBarcode(canvas, "BARCODE128");
canvas.finish();

3、EAN-13

EAN-13條形碼是一種常用的條形碼標準,主要用於標識商品,其中包含13位數字組成的碼字。EAN-13條形碼在全球範圍內,特別是在歐洲是最常用的商品標識方法。

以下是生成EAN-13條形碼的示例代碼:

EAN13Bean bean = new EAN13Bean();
final int dpi = 150;

// 設置模塊寬度
bean.setModuleWidth(UnitConv.in2mm(0.4f / dpi));

// 設置兩側的空白寬度
bean.doQuietZone(false);

BitmapCanvasProvider canvas = new BitmapCanvasProvider(
        out, "image/x-png", dpi,
        BufferedImage.TYPE_BYTE_BINARY, false, 0);

bean.generateBarcode(canvas, "123456789012");
canvas.finish();

四、條形碼生成選項

barcode4j提供了各種選項,使用戶可以對生成的條形碼進行自定義設置,以適應其特定的需求。以下是barcode4j提供的一些選項:

1、模塊寬度

模塊寬度表示每個條形碼模塊的多少英寸或毫米。它對條形碼的大小和密度有重要影響。

Code128Bean bean = new Code128Bean();
bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi));

2、高度

條形碼的高度與寬度一樣重要。它指的是條形碼的垂直尺寸,通常以毫米為單位。

Code128Bean bean = new Code128Bean();
bean.setHeight(15);

3、字體

有些條形碼類型可以包括一些附加的文本,如物品名稱、價格、日期和公司名稱等。這通常是在條形碼的底部添加一些文本。用戶可以選擇所需的字體來適應其應用場景。

Code128Bean bean = new Code128Bean();
bean.setFontName("Helvetica");
bean.setFontSize(10);

4、背景和前景顏色

條形碼的顏色通常由背景和前景色組成。前景色是條形碼的顏色,而背景色是條形碼周圍的背景色。用戶可以通過以下示例設置所需的顏色組合:

Code128Bean bean = new Code128Bean();
bean.setBarColor(Color.BLACK);
bean.setBackground(Color.WHITE);

五、總結

通過本文的介紹,您已經了解了barcode4j的基礎知識、安裝和使用方法、常見條形碼類型和使用場景、生成選項等方面的內容。越來越多的企業和組織在他們的業務流程中使用條形碼。使用barcode4j生成條形碼,將使您的工作更高效、更便捷。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/192868.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 10:30
下一篇 2024-12-01 10:30

相關推薦

  • 畫er圖網站詳細介紹

    一、網站介紹 畫er圖是一個畫流程圖的在線工具,提供多種流程圖、思維導圖的繪製模板,方便用戶根據自身需求量身定製。該網站提供免費試用,可同時多人在線協作編輯。 畫er圖通過簡單明了…

    編程 2025-04-25
  • Burp Suite Mac詳細介紹

    Burp Suite Mac是一款全稱Burp Suite Professional for Mac OS X的Mac版網絡攻擊測試工具,它能幫助安全測試人員對網絡應用進行滲透測試…

    編程 2025-04-25
  • 百度地圖拾取器詳細介紹

    一、百度地圖拾取器地址 百度地圖拾取器是一款可快速獲取百度地圖具體位置坐標的工具。其地址為:https://api.map.baidu.com/lbsapi/getpoint/in…

    編程 2025-04-25
  • HTML5語義化標籤的詳細介紹

    一、<header> 標籤 <header> 標籤用於定義文檔或節的頁眉。通常包含導航元素和標題元素。 <header> <h1>這…

    編程 2025-04-24
  • fseek函數的詳細介紹

    一、fseek在C語言中的意義 fseek函數是C語言中I/O庫中的一個函數,它用於在文件中移動讀寫位置指針。這個函數可以在文件中隨意移動讀寫位置指針從而實現對文件的隨機讀寫操作。…

    編程 2025-04-24
  • Mac Nginx詳細介紹

    一、安裝Nginx 安裝nginx最簡便的方法是使用Homebrew。執行以下命令來安裝Homebrew: /usr/bin/ruby -e “$(curl -fsSL https…

    編程 2025-04-23
  • Win11截圖工具詳細介紹

    一、Win11截圖工具 Win11截圖工具是Windows 11系統中自帶的一個截圖工具,它可以幫助用戶快速地捕捉屏幕截圖。Win11截圖工具可以截取整個屏幕、活動窗口或自定義選定…

    編程 2025-04-23
  • jQuery remove() 方法的詳細介紹

    一、選取 jQuery中的remove()方法是用於刪除指定元素及其子元素的方法。它的基本語法如下: $(selector).remove(); 其中的selector可以是指定要…

    編程 2025-04-23
  • IDEAGIT回滾到指定版本的詳細介紹

    在進行軟件開發時,版本控制是非常重要的一部分。IDEAGIT是一款優秀的版本控制工具,它可以幫助開發者記錄代碼的修改歷史並進行代碼的版本管理。有時候我們會需要回滾到某個指定版本,本…

    編程 2025-04-23
  • C語言string.h中函數的詳細介紹

    一、strcpy函數 strcpy函數是C語言中常用的字符串拷貝函數,其原型為: char *strcpy(char *dest, const char *src); 該函數的作用…

    編程 2025-04-23

發表回復

登錄後才能評論