在nodejs中创建路由以生成条形码

时间:2019-04-03 12:21:19

标签: node.js express url routes

我不是nodejs的新手,但是我在php中有经验,但是,我正在尝试在nodejs应用程序上创建一个终结点,该终结点可通过传递给它的orderId生成条形码。尝试找出在节点中编写此内容的最佳方法是什么。

我看了看文档并仔细阅读过,但是在res.render和res.send之间混淆,应该使用哪个。

到目前为止,这是我的代码。

var express = require('express');
var router = express.Router();
let codes = require("rescode");
let url = require('url');
var JsBarcode = require('jsbarcode');
var Canvas = require("canvas");

router.get('/barcode/:id', function(req, res, next) {
res.render('barCode', { title: 'barcode' });

   //I want to create a route that takes in and orderId, 
   //and uses the jsbarcade to generate a barcode

});

module.exports = router;

我希望能够使用此端点从电子邮件活动中传递和orderId并生成条形码。

2 个答案:

答案 0 :(得分:1)

从条形码图像创建base64text并在任何地方使用。 例如:-

var JsBarcode = require('jsbarcode');
var Canvas = require("canvas");
var canvas = new Canvas();
router.get('/barcode/:id', function(req, res, next) { 
var barcode=textToBase64Barcode(id);
    res.render('barCode', barcode); 
    }

function textToBase64Barcode(text){
var canvas = document.createElement("canvas");
jsBarcode(canvas, text, {format: "CODE39"});
return canvas.toDataURL("image/png");
 }
  

Ps:-我还没有尝试过。您可能需要进行更改。

答案 1 :(得分:0)

您是否看过模块jsbarcode?我认为它可以完成您想要的工作。