手動生成一維碼: 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條形碼僅包含數字數據,用於雜貨行業的標簽。