使用 vcard 信息创建正确二维码时出现问题

使用 vcard 信息创建正确二维码时出现问题

我有这个小型乳胶文件,使用 Hendrickson 的 qrcode.sty 生成二维码,该文件位于此处:pgf-Tikz QR 码生成器

\documentclass[english,11pt,a4paper]{article}
\usepackage{qrcode}
\begin{document}
\qrcode{
BEGIN:VCARD^^J
VERSION:4.0^^J
N:Doe;John^^J
TEL;WORK:+1 (234) 567-8910^^J
EMAIL:[email protected]^^J
END:VCARD
}
\end{document}

它确实生成了以下二维码,但当我用手机扫描它时,我没有得到任何信息。

不含任何信息的二维码。

我该怎么做?

问候,F.

答案1

即使删除了尾部的^^J,它也不会像其他人指出的那样工作。经过一些实验,我发现删除所有常规换行符并添加\?(这是 qrcode 的“换行符”标记)可以解决问题:

\qrcode{BEGIN:VCARD\?VERSION:4.0\?N:Doe;John\?TEL;TYPE=work:+1(234)567-8910\?EMAIL:[email protected]\?END:VCARD}

(没有换行符)完全按照您想要的方式工作,至少当我用手机检查时是这样的。它看起来是这样的:

John Doe vcard,通过 \qrcode

答案2

这里生成的 2 个二维码并不相同,第一个二维码没有提供任何信息。第二个二维码提供了信息。所以你看,vcard 格式相同。

\documentclass[english,11pt,a4paper]{article}

\usepackage{qrcode}
\usepackage[utf8]{inputenc} 
\usepackage{pst-barcode}

{\obeylines\gdef^^M{^^J}%
 \catcode`\@=0 %
 \catcode`\\=12 %
 @gdef@n{\n}}

\usepackage{auto-pst-pdf} % uncomment this if used with pdflatex

\begin{document}

\qrcode{
BEGIN:VCARD
VERSION:4.0
N:Doe;John
TEL;TYPE=work:+1(234)567-8910
EMAIL:[email protected]
END:VCARD
}

\medskip
\begin{pspicture}(1in,1in)
\obeylines
\psbarcode{%
BEGIN:VCARD
VERSION:4.0
N:Doe;John
TEL;TYPE=work:+1(234)567-8910
EMAIL:[email protected]
END:VCARD
}{width=1. height=1.}{qrcode}%
\end{pspicture}

\end{document}

在此处输入图片描述

答案3

Rin 与xelatex

\documentclass{article}
\usepackage{pst-barcode}
\begin{document}

\begin{pspicture}(1in,1in)
\psbarcode{%
        BEGIN:VCARD^^J
        VERSION:4.0^^J
        N:Doe;John^^J
        TEL;WORK:+1 (234) 567-8910^^J
        EMAIL:[email protected]^^J
        END:VCARD
    }{encoding=raw}{qrcode}
\end{pspicture}
\end{document}

在此处输入图片描述

答案4

这不是乳胶问题,你的 vcard 格式错误。

请尝试以下操作:

\documentclass[english,11pt,a4paper]{article}
\usepackage{qrcode}
\begin{document}
\qrcode{
BEGIN:VCARD
VERSION:4.0
N:Doe;John;;;
TEL;TYPE=work:+1 (234) 567-8910
EMAIL:[email protected]
END:VCARD
}
\end{document}

相关内容