记录一下前端二维码生成dataMatrix类型

1,679 阅读2分钟

业务场景主要是因为在生成qr码的时候超过一定的字数后,扫码枪识别率偏低导致。在npm中寻找包时,大多数都是以qr为主。为了以后在遇到二维码的时候可以更快的去完成,记录起这次二维码生成的案例

用到的依赖是bwip-js,也有可能有更好的依赖,我只是粗略的找了一下,找到了能够满足我现状的依赖。

安装么就是常规的

npm i bwip-js

安装完之后,直接进项目文件

<template>
    <div>
        <canvas id="qrcode" ref="qrcode"></canvas>
    </div>
</template>

<script>
    import bwipjs from 'bwip-js';
    export default {
        created(){
          let canvas = bwipjs.toCanvas(this.$refs.qrcode, {
            bcid: 'datamatrix', // 码类型
            text: JSON.stringify(this.content), // 码内容
            scale: 3, // 缩放比例
            height: 20, // 高
            width: 20, // 宽
            scaleX: 3, // x轴比例
            scaleY: 3, // y轴比例
            includetext: true, // 展示可读的文本
            textxalign: 'center' // 文本位置
          })
        },
        data(){
            retrun {
                content: '333554'
            }
        }
    }
</script>

<style lang="scss" scoped>

</style>

选项值:

bcid :码类型。

text :要编码的文本。

scaleX:x轴缩放因子。必须是大于0的整数。默认值为2。

scaleY:y轴缩放因子。必须是大于0的整数scaleX。默认值为。

scale:同时设置x轴和y轴缩放比例。必须是大于0的整数。

rotate:允许将图像旋转到四个正交方向之一。字符串值。必须是以下之一:

'N':正常(不旋转)。默认值。

'R' :顺时针(右)旋转90度。

'L' :逆时针(左)旋转90度。

'I' :反转180度旋转。

padding:速记设置paddingtop,paddingleft,paddingright,和paddingbottom。

paddingwidth:设置paddingleft和的简写paddingright。

paddingheight:设置paddingtop和的简写paddingbottom。

paddingtop:设置条形码图像顶部的填充区域的高度(以磅为单位)。旋转并缩放图像。

paddingleft:设置条形码图像左侧填充区域的宽度(以磅为单位)。旋转并缩放图像。

paddingright:设置条形码图像右侧填充区域的宽度(以磅为单位)。旋转并缩放图像。

paddingbottom:设置条形码图像底部的填充区域的高度(以磅为单位)。旋转并缩放图像。

backgroundcolor:这实际上是BWIPP选项,但可以通过bwip-js绘图代码更好地处理。接受十六进制的RRGGBB或十六进制的CCMMYYKK字符串值。

更详细的可以直接参考bwipjs 配置项

东西比较菜,大佬轻轻虐,看不上眼的也别骂,毕竟只是给自己记录的