【问题标题】:How to make a small QR with javascript如何使用 javascript 制作小二维码
【发布时间】:2020-06-13 18:38:28
【问题描述】:

我想在我的条形码中添加一个链接(谷歌验证器链接)。我目前正在使用JsBarcode lib,但似乎条形码太宽,条形码扫描仪无法识别它

我的配置:

JsBarcode("#barcode", data,{
              displayValue: false,
              width: 1,
            });

我想知道是否有办法将其最小化(因为根据他们的纪录片,最小尺寸是 1)或解决此问题的其他方法

【问题讨论】:

  • 显然,当前具有 1 像素宽度的线条的条码不能变得更窄。然后某些行将(必须)消失。所以你需要一种不同的方式。但是,关于建议库的问题不在此处讨论。
  • @trincot Fair,我重新表述了这个问题
  • @Patch 您能否提供更多有关您要解决的问题的背景信息?即,您是否希望拥有一个移动设备(即,这是您的“条形码扫描仪”吗?)从视频屏幕上读取 google 身份验证器链接条形码,然后将此链接传递给移动浏览器?
  • @JonTrent 在后端,我有为条形码生成的 URI。我正在获取带有 ajax 请求的条形码 URI,我希望用户能够扫描条形码。我现在做不到的原因是它太宽了(因为URI很长)。
  • @Patch,很高兴听到你解决了它。我打算推荐使用 QR 码,它更简洁一些,但不太确定您的用例。

标签: javascript barcode barcode-printing


【解决方案1】:

如果你想用javascript制作二维码,那么我强烈推荐http://bwip-js.metafloor.com/(我是项目的作者)。它支持普通和微二维码。

例如,在浏览器中,您传入一个画布元素(或其 ID),然后它会调整大小并将条形码绘制到画布上:

try {
    // The return value is the canvas element
    let canvas = bwipjs.toCanvas('mycanvas', {
            bcid:        'qrcode',   // Barcode type
            text:        url,        // Text to encode
            scale:       2,          // scaling factor
        });
} catch (e) {
    // `e` may be a string or Error object
}

【讨论】:

  • 看起来很棒!但我最终找到了一个不同的解决方案。我将上传我所做的答案,因为我确信它有效。 +1
【解决方案2】:

好的,所以我最终使用了different library

Link:

<script type="text/javascript" src="{{ url_for('static', filename='qrcode.min.js') }}" defer></script> // jinja2

JS code:

    var qrcode = new QRCode(document.querySelector("#barcode"), { // have to select a query like this
                  text: data,
                  width: 128,
                  height: 128,
                  colorDark : "#000000",
                  colorLight : "#ffffff",
                  correctLevel : QRCode.CorrectLevel.H
                });

HTML 代码有一个空的div。 结果:(没有诅咒的红色标记)

【讨论】:

    【解决方案3】:

    您应该使用其他编码,使用相同的库检查此生成器:https://lindell.me/JsBarcode/generator/

    Pharmacode 或 ITF 生成更小的条形码

    【讨论】:

    • 我的链接将是“此条形码类型的数据无效!”如果我使用任何其他类型
    猜你喜欢
    • 2018-12-20
    • 2022-07-31
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    相关资源
    最近更新 更多