jspdf-barcode
Version:
barcode generator plugin for jspdf
76 lines (56 loc) • 2.47 kB
Markdown
# Demo
[https://castrix.github.io/jspdf-barcode](https://castrix.github.io/jspdf-barcode)
[Code](https://github.com/castrix/jspdf-barcode/tree/main/example)
# Why should I use jspdf-barcode?
The barcode that is generated by this library will not break when zoomed in/printed out since it's not generating picture/pixel
# Installation
```
npm install jspdf jspdf-barcode --save
```
## Usage
require jspdf >= 2.0.0
### ES6
```
import jsPDF from "jspdf"; // please use default import
import jspdfBarcode from "jspdf-barcode";
const doc = new jsPDF()
jspdfBarcode(doc, "barcodeValue", {
fontSize: 23,
textColor: "#000000",
x: 5.4,
y: 25.5,
textOptions: { align: "center" } // optional text options
})
```
### CJS
```
const { jsPDF } = require("jspdf")
const jspdfBarcode = require("jspdf-barcode").default // use .default
const doc = new jsPDF()
jspdfBarcode(doc, "barcodeValue", {
fontSize: 23,
textColor: "#000000",
x: 5.4,
y: 25.5,
textOptions: { align: "center" } // optional text options
})
```
## Support
By default, it will use `AUTO` variant (will choose between `Code 128B` or `Code 128C`) if `options.variant` is not provided.
- Code 128A: can accept uppercase alphanumeric (ABCD123)
- Uppercase letters (A-Z)
- Numbers (0-9)
- Control characters (ASCII 0-31, like NUL, TAB, CR)
- Some punctuation (e.g., space, $, %, +, -, ., /, :)
- Code 128B: most versatile, can accept mixed case alphanumeric (abcABC123)
- Uppercase letters (A-Z)
- Lowercase letters (a-z)
- Numbers (0-9)
- More punctuation (e.g., space, !, ", #, $, %, &, etc.)
- Code 128C: Optimized (shortest barcode) for numeric-only data (e.g., serial numbers)
## Arguments
| arguments | type | accepted value |
|--------------|--------|------------------------------------------------------------------------------------------------------------|
| doc | string | jspdf instance |
| barcodeValue | string | alphanumeric | | |
| options | object | `fontSize` number, <br/> `textColor` string, <br/> `x`: number // x coordinate of pdf, <br/> `y`: number // y coordinate of pdf, <br/> `textOptions?`: [jspdf.textOptions](https://artskydj.github.io/jsPDF/docs/jsPDF.html#text) <br/> `variant?`: "AUTO" \| "A" \| "B" \| "C" |