Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generate barcode from text and convert it to base64

Does someone knows a tool to generate barcode image (preferably code 39) from a string and converts it to base64 string, something to use like this:

var text = "11220"; // text to convert
var base64Str = textToBase64Barcode(text); // function to convert its input 
        // to an image formatted in a base64 string like : "data:image/jpeg;base64..."

?

like image 327
lennin92 Avatar asked Feb 25 '16 20:02

lennin92


2 Answers

Using JsBarcode this function will do what you want.

function textToBase64Barcode(text){
  var canvas = document.createElement("canvas");
  JsBarcode(canvas, text, {format: "CODE39"});
  return canvas.toDataURL("image/png");
}
like image 162
Lindell Avatar answered Nov 02 '22 18:11

Lindell


if you need this function in node.js side, you can try below

const bwipjs = require('bwip-js');

function textToBarCodeBase64 (text) {
    return new Promise((resolve, reject) => {
        bwipjs.toBuffer({
            bcid: 'code128',
            text: text,
            scale: 3,
            height: 10,
            includetext: true,
            textxalign: 'center'
        }, function(error, buffer) {
            if(error) {
                reject(error)
            } else {
                let gifBase64 = `data:image/gif;base64,${buffer.toString('base64')}`
                resolve(gifBase64)
            }
        })
    })
}

about bwip-js see bwip-js for more details

like image 2
Cai xiaocong Avatar answered Nov 02 '22 16:11

Cai xiaocong