https://castrix.github.io/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
npm install jspdf jspdf-barcode --save
require jspdf >= 2.0.0
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
})
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
})
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 | type | accepted value |
---|---|---|
doc | string | jspdf instance |
barcodeValue | string | alphanumeric |
options | object | fontSize number, textColor string, x : number // x coordinate of pdf, y : number // y coordinate of pdf, textOptions? : jspdf.textOptions variant? : "AUTO" | "A" | "B" | "C" |