手动生成一维码: https://www.pianshen.com/article/36971238482/
生成jar包 :
1.谷歌 com.google.zxing jar下载 https://repo1.maven.org/maven2/com/google/zxing/core/2.2/ javase-2.2.jar+ core-2.2.jar
2. Spire.Barcode
免费: https://www.e-iceblue.cn/Downloads/Free-Spire-Barcode-JAVA.html
参考 : https://www.cnblogs.com/Yesi/p/11527369.html -- Free Spire.Barcode for Java
前言
因为最近业务上的需要,需要打印条形码,从而了解到各种不同条形码的编码格式与用法,这里列举一下。
UPC-A
UPC-A条形码是美国用于向公众销售的产品的标准条形码格式。UPC-A仅包含数字数据,并编码12位数字。第一位是系统编号字符,随后的五位表示供应商识别码,再后五位表示产品编号,最后一位表示所需的校验码字符。由于“条形码打印”功能会自动计算校验码位,因此不需要指定校验码位。
每一位由两个线条和两个空白表示,其宽度计算为七个细线条。
系统编号字符以可读文本形式打印在条形码左侧,校验码位以可读文本形式打印在条形码的最右侧。
系统编号可以是以下值:
0或7: | 常规UPC码 |
---|---|
2: | 随机加权项 |
3: | 国家药品代码和国民健康相关产品代码 |
4: | 无代码格式限制时使用,带有非食用产品校验码位 |
5: | 用于优惠券 |
1、6、8和9: | 保留 |
UPC-E(UPC-E0和UPC-E1)
UPC-E条形码非常适合用于小包装,因为其数据是压缩的。UPC-E条形码包含的信息与UPC-A条形码基本相同,只是UPC-E中至少含有四个抑制的零。条形码中的数字位数从12缩减为6。“条形码打印”功能接受“零抑制”版本的压缩和未压缩的UPC-E数据。如果发送的数据未压缩,“条形码打印”功能会自动压缩数据。
每一位由两个线条和两个空白表示,其宽度计算为七个细线条。请注意,可以激活条形码下方的标题文本以确认校验码计算。
EAN-8
EAN-8条形码在欧洲用于向公众销售的产品。EAN-8仅包含数字数据,并编码8位数字。前两位表示国家代码,随后的五位表示产品代码,最后一位表示所需的校验码字符。由于“条形码打印”功能会自动计算校验码位,因此不需要指定校验码位。
每一位由两个线条和两个空白表示,其宽度计算为七个细线条。
EAN-13
EAN-13条形码是在欧洲用于向公众销售的产品的标准条形码格式。EAN-13仅包含数字数据,并编码13位数字。前两位表示国家代码,随后的六位表示供应商识别码,再后四位表示产品代码,最后一位表示所需的校验码字符。(校验码字符与条形码的其余部分分离。这种分离在不同国家之间有所区别。)由于“条形码打印”功能会自动计算校验码位,因此不需要指定校验码位。如果校验码作为第13位发送,则会被忽略并重新计算。
所有EAN和UPC条形码都可以后随两位或五位数字来表示补充信息。
每一位由两个线条和两个空白表示,其宽度计算为七个细线条。
系统编号字符以可读文本形式打印在条形码左侧,校验码位以可读文本形式打印在条形码的右侧。
Code 39
Code 39的实际名称是“3 of 9 bar code”。由于不仅编码数字,还编码大写字母和标点,因此Code 39可能是最常用的条形码。空白编码为线条。文本编码于由“条形码打印”功能自动生成的开始和停止字符“*”之间。
“条形码打印”功能具有39条形码的两种变体:带开始空白和不带开始空白。字体24670和24671不会将开始空白编码在创建条形码的数据中;但是,字体24672和24673则会编码开始空白。
Extended 39
Extended 39条形码基于标准39条形码,但可通过对要编码字符串中的每个字符生成两个字符编码所有ASCII字符。Extended 39条形码支持从0到126的所有ASCII码,并且条形码图案相当大。
Interleaved 2 of 5
也称为“25 Interleaved”。Interleaved 2 of 5条形码仅包含数字数据,并且要求要编码的字符串具有偶数位数。位数可以为2到30。
Industrial 2 of 5和Matrix 2 of 5
Industrial 2 of 5和Matrix 2 of 5条形码仅包含数字数据,并且可以具有1到30位。
Code 128
大多数条形码标签的新标准。Code 128是用于数字和字母数字字符串的紧凑式条形码。Code 128有三种模式:A、B或C,分别编码范围不同的字符。Code 128 Auto是“条形码打印”功能独有的功能。利用这种功能,无需分析要编码的字符串即可编码所有128个ASCII字符,并可自动确定所需使用的Code 128模式。
“条形码打印”功能分析数据并在A、B和C模式之间动态切换以提供最紧凑的代码。Code 128 Auto完全符合在同一图案内使用Code 128模式B和C的托盘标签新全球标准。
EAN-128和UCC-128
EAN-128和UCC-128是以FNC 1码开头且长度可变的条形码,基于编码字符串的Code 128 A、B和C模式。EAN-128用于托盘标签和EDI(电子数据交换)相关的条形码标签。“条形码打印”功能自动在条形码的开头添加FNC 1码,并在结尾添加校验码。
Codabar/Monarch
编码数字和标点字符。多用于血液产品的标签。
Code 93
Code 39的压缩版本。
Extended Code 93
Extended Code 39的压缩版本。
MSI Plessey
MSI Plessey条形码仅包含数字数据,用于杂货行业的标签。