在标题中生成二维码是不可能的吗?

在标题中生成二维码是不可能的吗?

pstricks我在使用/pst-barcode和软件包时遇到了一个奇怪的问题fancyhdr。我喜欢这样做:每个页面都有一个自定义标题,左侧是名称,右侧是二维码。

虽然我第一次在页面内测试时生成的二维码没有任何问题,但如果我把它放入 fancyheader 中,它就不行了。虽然我在过去几个小时里搜索并试图找到一些解决方案,但我仍然陷入困境。有人知道这是问题还是解决方法吗?

错误是:

  • 警告行 1 包auto-pst-pdf警告:创建gesamt6-autopp.dvi失败

  • 警告行 1 程序包auto-pst-pdf警告:无法创建gesamt6-pics.pdf。辅助文件未被删除。

有问题的代码如下所示(简化):

\documentclass[11pt,a4paper]{scrlttr2}
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{pst-barcode}
\usepackage[notightpage]{auto-pst-pdf}
\usepackage{pstricks}

\pagestyle{fancy}
\fancyhf{}

\newcommand\surname         {Somefamily}
\newcommand\firstname       {Somename}

\fancyhead[LO,LE]{\begin{textblock*}{80mm}(15mm,16mm)  \Huge{\firstname\ \surname} \end{textblock*}}

\rhead{
\begin{pspicture}(20mm,20mm)% save the space
\psbarcode{MECARD:N:\surname,\ \firstname;ADR:\street,\ \streetnumber,\ \zip,\ \country;TEL:\phoneprefix\phone;EMAIL:\mail;;}{eclevel=H width=1.0 height=1.0}{qrcode}
\end{pspicture}}

\begin{document}
Some text
\end{document}

答案1

正如 Stephan Lemke 所建议的,这是一个可行的版本:

\documentclass{article}
\usepackage{fancyhdr,textpos,lipsum,pst-barcode,auto-pst-pdf}
\pagestyle{fancy}
\fancyhf{}

\newcommand\surname{Somefamily}
\newcommand\firstname{Somename}
\newcommand\street{Somestreet}
\newcommand\zip{12345}
\newcommand\streetnumber{42}
\newcommand\country{Noland}
\newcommand\phoneprefix{555}
\newcommand\phone{555-5555}
\newcommand\mail{[email protected]}


% \fancyhead[L]{\begin{textblock*}{80mm}(15mm,16mm)  \Huge{\firstname\ \surname} \end{textblock*}}

\newsavebox{\CARD}

\fancyhead[R]{\usebox{\CARD}}

\setlength{\headheight}{77pt}

\begin{document}

\sbox{\CARD}{%
\begin{pspicture}(20mm,20mm)% save the space
\psbarcode{MECARD:N:\surname,\ \firstname;ADR:\street,\ \streetnumber,\ \zip,\ \country;%
  TEL:\phoneprefix\phone;EMAIL:\mail;;}{eclevel=H width=1.0 height=1.0}{qrcode}
\end{pspicture}}

\lipsum
\end{document}

注意,必须在之后构建盒子\begin{document}

在此处输入图片描述

答案2

运行它xelatex,一切都会好起来:

\documentclass[11pt,a4paper]{scrlttr2}
\usepackage{fontspec}
\setmainfont{Bera Serif}

\usepackage[english,ngerman]{babel}
\usepackage{fancyhdr}
\usepackage{pst-barcode,textpos}
\usepackage{pstricks}

\pagestyle{fancy}
\fancyhf{}

\newcommand\surname         {Somefamily}
\newcommand\firstname       {Somename}
\def\street{Street}
\def\streetnumber{12}
\def\zip{12345}
\def\country{USA}
\def\phoneprefix{001}
\def\phone{12346}
\def\mail{abc.org}

\fancyhead[LO,LE]{\begin{textblock*}{80mm}(15mm,16mm)  \Huge{\firstname\ \surname} \end{textblock*}}
\rhead{%
\begin{pspicture}(20mm,20mm)% save the space
\psbarcode{MECARD:N:\surname,\ \firstname;ADR:\street,\ \streetnumber,\ \zip,\ \country;TEL:\phoneprefix\phone;EMAIL:\mail;;}{eclevel=H width=1.0 height=1.0}{qrcode}
\end{pspicture}}

\begin{document}
Some text
\end{document}

在此处输入图片描述

相关内容