node使用jsbarcode导出条形码,只能生成个小白框
发布于 5 年前 作者 MaShizhen 5827 次浏览 来自 问答
  1. node v11.11.0
  2. jsbarcode@3.11.0
  3. canvas@2.6.1

代码如下:

import { createCanvas } from 'canvas';
import jsbarcode from 'jsbarcode';

	const canvas = createCanvas(1000, 1000, 'svg');
	jsbarcode(canvas, 'Hello', {
		width: 1000,
		height: 1000,
		lineColor: "#0aa",
		displayValue: true
	});
	// 获取条形码base64图片
	const base64 = canvas.toDataURL('image/png');
	return {
		data: base64,
		content_type: ' image/png'
	};

导出的图片是个小白框 微信截图_20200325135115.png

我不确定是不是安装canvas安装有问题,项目在安装依赖时,会卡在那不动,通知终端输出 node-pre-gyp WARN Using request for node-pre-gyp https download , 等得时间长我就按了一下 Ctrl + C, 然后依赖再会继续安装,也没有其他什么报错信息。canvas安装是根据官方的教程来的,电脑(debian)需要添加的依赖都安装过了。github,google都翻过没有找到解决办法,怪得很,有没有哪个同学遇到过这个问题,求助

QQ图片20200325140307.png

3 回复

微信图片_20200325161348.png

安装依赖 node-pre-gyp WARN Using request for node-pre-gyp https download 卡在那的问题解决了,用cnpm安装,使用国内npm镜像。但是导出的条形码还是那个样子。另外python环境也都有

已解决。突然发现,转成buffer一切都没问题,暂时解决了我的问题。 这个问题已经反馈给 node-canvas

你看看 base64 是什么值

回到顶部