QR Code 字体样式将每个字符呈现为 qr 代码,而不是整个文本
Posted
技术标签:
【中文标题】QR Code 字体样式将每个字符呈现为 qr 代码,而不是整个文本【英文标题】:QR Code font style is rendering each character as a qr code instead of the text as a whole 【发布时间】:2021-09-21 23:36:51 【问题描述】:使用 xsl 我正在尝试使用字体将一些 html 文本呈现为二维码。字体呈现,但它将每个字符而不是整个文本呈现为单个二维码。 我尝试将文本转换为 xsl 数字变量并尝试以这种方式呈现
<xsl:variable name="OrderNumber" select="number(//Order/Number)" />
<font face="QR font tfb" style="font-size:36pt;"><xsl:value-of select="$OrderNumber"/></font>
我现在只是想获取一个订单号并将其转换为可扫描的二维码。 Google 和 *** 搜索对我没有任何帮助。
【问题讨论】:
那是哪个 XSLT 版本,或者处理器支持哪个 XSLT 版本? 【参考方案1】:您提到的字体只是将字符映射到该简单字符的二维码的“字体”。所以你通过www.mysite.com ...它不会也永远不会给你一个短语的二维码,它为短语中的每个字符提供一个二维码(就像字体应该做的那样)。
你需要实现字体以外的东西(比如二维码服务)。
查看https://www.dafont.com/qr-font-tfb.font,您甚至可以看到每个字符都是一个二维码。除非您想对字母“A”进行二维码编码,否则它基本上毫无价值。
如果您想要对短语或链接进行编码,那么像 https://www.the-qrcode-generator.com/ 这样的东西就可以了。还有很多其他的。谷歌图表有一个已弃用但仍然有效:
https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=www.mysite.com
产量:
因此,假设您的 XSL 变量正在工作,请不要使用 <font>
,而应使用 <img>
之类的东西,并像谷歌图表示例那样构建 src
属性。
<xsl:variable name="OrderNumber" select="number(//Order/Number)" />
<xsl:variable name="chartQR">
<xsl:text>https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=</xsl:text>
<xsl:value-of select="$OrderNumber"/>
</xsl:variable>
<ing src="$chartQR"/>
【讨论】:
以上是关于QR Code 字体样式将每个字符呈现为 qr 代码,而不是整个文本的主要内容,如果未能解决你的问题,请参考以下文章
werneckbh/qr-code,无法生成 .png QR 图像