我有一个棘手的情况,我被困在,我试图创建一个生成条形码的路线。在这个路线上,响应应该是一个包含来自文档 ID 的条形码的 SVG 图像。
有没有一个包做这种请求,我从这里去哪里。
条形码应该只包含文档 ID,如何将其生成到 Code-39 中。
下面是我的我的路线样本,许多提前感谢!
router.get('/doents/:id/barcode', async (req, res, next) => {
try {
const doent = await Doent.getByIdOrName(req.params.id);
if (!doent) {
// throw Error
}
// Here I need to send a response SVG image
// with a generated barcode from the the doent Id
} catch (error) {
next(error);
}
})
以下库允许您生成条形码:JsBarcode
生成一个 Code-39 格式的。只需添加以下属性:format: 'CODE39'
JsBarcode("#barcode", "DoentId", {
format: "CODE39"
});
更新:我已经能够通过遵循其他两个建议使用JsBarcode来创建 svg 的条形码,所以我将在这里发布答案:
router.get('/:id/barcode', async (req, res, next) => {
try {
const doent = await Doent.getById(req.params.id);
if (!doent) {
throw new NotFoundError(
// throw error,
);
}
const svgDoent = new DOMImplementation().createDoent('');
const svg = svgDoent.createElementNS('', 'svg');
jsBarcode(svg, doent.id, {
xmlDoent: svgDoent,
format: 'CODE39',
});
const barcode = new XMLSerializer().serializeToString(svg);
res.send(barcode);
} catch (error) {
next(error);
}
});
module.exports = router;
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(34条)