首页 > 解决方案 > 通过 python-qrcode 生成具有恒定大小的 SVG

问题描述

我正在为一个应用程序工作,它将生成 SVG 文件。我正在使用python-qrcode。但问题是这会生成大小取决于字符串大小的 SVG 文件。

import qrcode
import qrcode.image.svg

currentTime = str(datetime.datetime.now())
getfileName = currentTime.replace(':', '_').replace(' ', '_')

fileName = "qrcodes/" + getfileName + '.svg'

url = 'https://stackoverflow.com'
img = qrcode.make( url, image_factory=qrcode.image.svg.SvgImage)
img.save( fileName )

现在,如果您在 URL 中尝试长字符串。那么尺寸的图像将比当前的大。

我想要具有恒定大小的 SVG 文件。

标签: python

解决方案


version您可以使用函数的参数控制 QR 码中的像素数make。从文档:

version参数是一个 1 到 40 的整数,控制 QR 码的大小。

所以在你的情况下,你可以这样做:

img = qrcode.make( url, image_factory=qrcode.image.svg.SvgImage, version=10)

推荐阅读