如何为 iCalendar 事件生成二维码?

如何为 iCalendar 事件生成二维码?

我想在 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。

相关内容