我在Node.js中为客户建立一个网站,我需要为故障单系统生成QR码或条形码。
我发现了一些模块,但是所有这些模块都需要像画布一样安装,无论如何。
我在共享主机软件包上,我的主机不允许我安装任何此类软件包,除非我升级到VPS或专用服务器(我没有钱)。
你们有没有人知道如何在Node.js中解决这个问题,或者我是否需要建立一个子域来生成PHP或前端生成的QR(我不喜欢全部)?
目前正在使用:
找到的模块:
答案 0 :(得分:7)
你可以使用qr-image它是一个完整的JavaScript解决方案,使用Buffers生成以下格式的QR码:png,svg,eps和pdf格式
答案 1 :(得分:6)
查看此代码:
var qr = require('qr-image');
var express = require('express');
var app = express();
app.get('/', function(req, res) {
var code = qr.image(new Date().toString(), { type: 'svg' });
res.type('svg');
code.pipe(res);
});
app.listen(3000);
答案 2 :(得分:0)
尝试
from tkinter import *
popup = Tk()
popup.wm_title("Podaci mreze")
widthTabela = 600
heightTabela = 500
def zatvaranje():
popup.destroy()
screenw = popup.winfo_screenwidth()
screenh = popup.winfo_screenheight()
x = screenw / 2 - widthTabela / 2
y = screenh / 2 - heightTabela / 2
popup.geometry("%dx%d+%d+%d" % (widthTabela, heightTabela, x, y))
textTFrame = Frame(popup, borderwidth=1, relief="sunken")
textTabela = Text(textTFrame, width=83, height=28.4, wrap="none", borderwidth=0)
textTVSB = Scrollbar(textTFrame, orient="vertical", command=textTabela.yview)
textTHSB = Scrollbar(textTFrame, orient="horizontal", command=textTabela.xview)
textTabela.configure(yscrollcommand=textTVSB.set, xscrollcommand=textTHSB.set, font=("Arial", 10))
textTabela.config(state="disabled")
textTabela.grid(row=0, column=0, sticky="nsew")
textTVSB.grid(row=0, column=1, sticky="ns")
textTHSB.grid(row=1, column=0, sticky="ew")
textTFrame.grid(row=0, column=0)
file=open("D:\\Pycharm_Skripte\\IEEE9.txt","r")
listaPodataka = file.readlines()
textTabela.config(state="normal")
textTabela.delete('1.0', END)
for i in range(len(listaPodataka)):
print(listaPodataka[i])
textTabela.insert(INSERT, listaPodataka[i])
textTabela.config(state="disabled")
dugmeTabela=Button(popup, text="Close", command=zatvaranje).grid(row=2, column=0)
popup.mainloop()
答案 3 :(得分:0)
就我而言,我确实关注了以下内容,请参阅qrcode以获取更多信息。
const qrcode = require('qrcode');
const qrOption = {
margin : 7,
width : 175
};
const qrString = 'QR_STRING';
const bufferImage = await qrcode.toDataURL(qrString,qrOption);
console.log(bufferImage);
答案 4 :(得分:0)
这是有关如何实现此目标的另一个建议。
您只需要获取QRCode的url
并将其分配给html中的img
标签源。
可以使用toDataUrl()
的{{1}} API来做到这一点。
这是定义:
toDataURL(text, [options], [cb(error, url)])
返回包含QR码图像表示形式的数据URI。 如果提供,canvasElement将用作画布以生成数据URI。
node-qrcode
类型:使用DOMElement画布绘制QR代码的位置。
canvasElement
类型:字符串|数组要编码的文本或描述对象的列表 段。
text
options
类型:
type
默认值:String
数据URI格式。可能的值 是:image/png
。
image/png, image/jpeg, image/webp
类型:
rendererOpts.quality
默认值:Number
0.92
和0
之间的数字表示 如果请求的类型是1
或image/jpeg
,则图像质量。
image/webp
类型:函数在完成时调用的回调函数。
因此,为了显示Neo QRCode,我建议您根据文档来这样做:
cb
编码?