bwip-js
Version:
JavaScript barcode generator supporting over 100 types and standards.
58 lines (37 loc) • 1.94 kB
Markdown
2D barcodes typically require 100ms - 250ms
on a fairly modern CPU. Best to offload to secondary processes or threads, otherwise the
nodejs event loop will be blocked.
- `server.js` is the most basic server example. A single-threaded, single-process
server.
- `cluster.js` creates a bwip-js specific process per CPU, plus a master to
automatically relaunch killed processes.
- `threaded.js` is a single-process, multi-threaded server. Requires node.js 10.5
or higher.
- `drawing-example.js` and `example.html`
These files are the simplest demonstation of the bwip-js drawing interface.
Do not use in production as the canvas API will create fuzzy lines/edges.
See `example.html` for the following code showing how to create the drawing
object and pass it to bwip-js:
```
// Draw the bar code to the canvas using a custom drawing interface.
try {
// fixupOptions() modifies options values (currently padding and
// background color) to provide a simplified interface for the
// drawing code.
bwipjs.fixupOptions(opts);
bwipjs.render(opts, DrawingExample(opts, canvas));
} catch (e) {
// e can be a string or Error object
}
```
You can launch `example.html` from your browser using the `file://` scheme.
- `examples/pdfkit.js` and `examples/drawing-pdfkit.js` show how to add
scalable barcodes (PDF graphics) to a [pdfkit](https://pdfkit.org/) document.
`drawing-pdfkit.js` is browser compatible if you prefer to use pdfkit
client side.
## Example Raw BWIPP Encoder/Rendering Data
- `raw.js` is a utility for displaying the low-level BWIPP data used to render a barcode.
See [Notes on the Raw BWIPP Data](https://github.com/metafloor/bwip-js/wiki/Notes-on-the-Raw-BWIPP-Data)
for more details.
Generating barcodes can be CPU intensive.