1. 介绍
JsBarcode是用JavaScript编写的条形码生成器。 它支持多种条形码格式,并且可以在浏览器中以及与Node.js一起使用。 当用于网络时,它没有依赖关系,但是如果您愿意的话,它可以与jQuery一起使用。
2. 支持的条形码
- CODE128
- CODE128 (automatic mode switching)
- CODE128 A/B/C (force mode)
- EAN
- EAN-13
- EAN-8
- EAN-5
- EAN-2
- UPC (A)
- UPC (E)
- CODE39
- ITF
- ITF
- ITF-14
- MSI
- MSI10
- MSI11
- MSI1010
- MSI1110
- Pharmacode
- Codabar
3. 简单示例
首先创建画布(或图像)
<svg id="barcode"></svg><!-- 或 --><canvas id="canvas"></canvas><!-- 或 --><img id="barcode"/>
调用方法
```javascript构造函数生成
JsBarcode(“#barcode”, “Hi!”);
jQuery配合生成
$(“#barcode”).JsBarcode(“Hi!”);
<a name="oT9P8"></a>## 生成如下<a name="koAD9"></a># 4. 使用配置的示例<a name="H6Mo1"></a>## 选项配置```javascriptJsBarcode("#barcode", "1234", {format: "pharmacode",lineColor: "#0aa",width:4,height:40,displayValue: false});
生成如下
5. 高级示例
选项配置
JsBarcode("#barcode").options({font: "OCR-B"}) // Will affect all barcodes.EAN13("1234567890128", {fontSize: 18, textMargin: 0}).blank(20) // Create space between the barcodes.EAN5("12345", {height: 85, textPosition: "top", fontSize: 16, marginTop: 15}).render();
生成如下
6. 浏览器设置(HTML页面使用)
下载或获取CDN链接脚本
| Name | 支持的条形码 | 大小 | CDN / Download |
|---|---|---|---|
| All | 支持所有 | 10 kB | JsBarcode.all.min.js |
| CODE128 | CODE128(自动和强制模式) | 6.1 kB | JsBarcode.code128.min.js |
| CODE39 | CODE39 | 5 kB | JsBarcode.code39.min.js |
| EAN / UPC | EAN-13, EAN-8, EAN-5, EAN-2, UPC (A) | 6.5 kB | JsBarcode.ean-upc.min.js |
| ITF | ITF, ITF-14 | 4.9 kB | JsBarcode.itf.min.js |
| MSI | MSI, MSI10, MSI11, MSI1010, MSI1110 | 4.9 kB | JsBarcode.msi.min.js |
| Pharmacode | Pharmacode | 4.6 kB | JsBarcode.pharmacode.min.js |
| Codabar | Codabar | 4.8 kB | JsBarcode.codabar.min.js |
引入脚本
<script src="JsBarcode.all.min.js"></script>
完成
7. Bower或npm使用
bower install jsbarcode --savenpm install jsbarcode --save
8. Node.js使用
安装
npm install jsbarcodenpm install canvas
使用
var JsBarcode = require('jsbarcode');var Canvas = require("canvas");var canvas = new Canvas();JsBarcode(canvas, "Hello");
9. 参数选项
更多选项参考官方提供的文档
| 选项 | 默认值 | 值类型 |
|---|---|---|
format |
"auto" (CODE128) |
String |
width |
2 |
Number |
height |
100 |
Number |
displayValue |
true |
Boolean |
text |
undefined |
String |
fontOptions |
"" |
String |
font |
"monospace" |
String |
textAlign |
"center" |
String |
textPosition |
"bottom" |
String |
textMargin |
2 |
Number |
fontSize |
20 |
Number |
background |
"#ffffff" |
String (CSS color) |
lineColor |
"#000000" |
String (CSS color) |
margin |
10 |
Number |
marginTop |
undefined |
Number |
marginBottom |
undefined |
Number |
marginLeft |
undefined |
Number |
marginRight |
undefined |
Number |
flat |
false |
Boolean |
valid |
function(valid){} |
Function |
Format
说明:条形码类型
示例
JsBarcode("#barcode", "123456789012", {format: "EAN13"});JsBarcode("#barcode", "123456789012", {format: "CODE39"});
Width
说明:单个条的宽度
示例
JsBarcode("#barcode", "Smallest width", {width: 1});JsBarcode("#barcode", "Wider barcode", {width: 3});
Height
说明:条形码的高度
示例
JsBarcode("#barcode", "Wider barcode", {height: 150});JsBarcode("#barcode", "Smallest width", {height: 25});
Text
说明:额外显示的文本
示例
JsBarcode("#barcode", "Hello", {text: "Hi!"});
Font
说明:定义用于额外显示的文本的字体
示例
JsBarcode("#barcode", "Fantasy font", {font: "fantasy"});
Font Options
说明:额外显示的文本样式,可选值:粗体 bold / 斜体 italic / 粗斜体 bold italic
示例
JsBarcode("#barcode", "Bold text", {fontOptions: "bold"});JsBarcode("#barcode", "Italic text", {fontOptions: "italic"});JsBarcode("#barcode", "Both options", {fontOptions: "bold italic"});
Text Align
说明:设置额外显示的文本的水平对齐方式,值为left / center / right.
示例
JsBarcode("#barcode", "Left text", {textAlign: "left"});
Text Position
说明:设置额外显示的文本的位置,值为 bottom / top
示例
JsBarcode("#barcode", "Top text", {textPosition: "top"});
结果
Text Margin
说明:设置条形码和文本之间的间隔
示例
JsBarcode("#barcode", "Text margin", {textMargin: 25});
Font Size
说明:设置文字大小
示例
JsBarcode("#barcode", "Bigger text", {fontSize: 40});
Background
说明:设置条形码的背景(色)
示例
JsBarcode("#barcode", "Blue background", {background: "#ccffff"});
Line Color
说明:设置条形和文本的颜色
示例
JsBarcode("#barcode", "Red lines", {lineColor: "#990000"});
Margins
说明:设置条形码距离容器的外变距
示例
JsBarcode("#barcode", "Bigger margins", {margin: 30,background: "#dddddd"});JsBarcode("#barcode", "Left/Top margin", {marginLeft: 30,marginTop: 50,background: "#dddddd"});
