我想在 PDF 文件中添加一个二维码,其中包含来自日历事件。
以下是为 iCalendar 生成简单事件的代码:
BEGIN:VEVENT
SUMMARY:event
DTSTART:20110913T130000Z
DTEND:20110913T140000Z
END:VEVENT
我想为该文本生成一个二维码,以便从我的 Android 手机中获取它并自动在我的日历应用中插入一个新事件。
编辑1:
我发现这和这发布如何生成二维码。我生成了二维码,但我的 Android 应用程序无法理解该文本是 iCalendar 事件。
编辑2:
根据 @Yossi 的建议,我添加了以下代码。该代码应该使用 iCal 事件创建一个有效的二维码。这是我用来生成其他二维码的代码,但它无法像我希望的那样与 iCal 事件一起工作。
\documentclass[a4paper,10pt]{article}
\usepackage{pst-barcode}
\usepackage{auto-pst-pdf}
\usepackage[utf8x]{inputenc}
\begin{document}
\maketitle
\begin{pspicture}(0.7in,0.7in)
\psbarcode{%
BEGIN:VEVENT
SUMMARY:event
DTSTART:20110913T130000Z
DTEND:20110913T140000Z
END:VEVENT
}{}{qrcode}
\end{pspicture}
\end{document}
这是我用于编译 tex 文件的命令:
pdflatex --shell-escape
我可以生成二维码,但由于某种原因,编码的文本不是有效的 iCal 事件。
答案1
以下生成的二维码被识别为 iCalendar 事件卡夫特在 iPad 上:
\documentclass{article}
\usepackage{pst-barcode}
\begin{document}
\begin{pspicture}(2in,2in)
\psbarcode{BEGIN:VEVENT^^J%
SUMMARY:event^^J%
DTSTART:20110913T130000Z^^J%
DTEND:20110913T140000Z^^J%
END:VEVENT}
{height=2 width=2}{qrcode}
\end{pspicture}
\end{document}
是^^J
换行符。如果您愿意,您还可以尝试使用 catcodes 来避免输入^^J
,如相关问题所示生成包含 vCards 的二维码。
答案2
以下是详细解答:
\documentclass{article}
\usepackage{pst-barcode}
\begin{document}
\begin{pspicture}(1in,1in)
\psbarcode{test string}{}{qrcode}
\end{pspicture}
\end{document}
生产
由于该包使用了 pstricks,因此您需要使用 LaTeX 而不是 PDFLaTeX。