一、背景
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-hant/n/192868.html