psbarcode 在 Linux 和 Windows 环境下产生的条形码旋转效果不同

psbarcode 在 Linux 和 Windows 环境下产生的条形码旋转效果不同

我正在使用psbarcode它来生成code39条形码,但遇到了一些奇怪的事情,想知道是否有人可以解释一下。

我正在使用 LaTeX 和 Velocity 的组合。

\begin{pspicture}
    %\psbarcode[rotate=90]{${workTicketId}}{includetext height=0.375}{code39} % Windows environment
    \psbarcode{${workTicketId}}{includetext height=0.375}{code39} % Linux environment
\end{pspicture}

以上两行中,第一行Windows 环境,目前已被注释掉 - 我发现我必须将条形码旋转 90 度才能使其显示为水平,但在编译时,相同的代码在 Linux 环境中会导致垂直条形码。

第二行,Linux 环境,去掉旋转会导致条形码在Linux环境中是水平的,但在Windows环境中编译时是垂直的。

现在,我可以围绕这些差异编写代码,但我想知道是否有人之前遇到过这种情况,或者是否有人知道这种行为的原因,理想情况下,如果可能的话,我宁愿不要围绕不同的操作系统编写代码。

以下是我的.tex文件中包含的包:

\usepackage[a4paper, landscape, margin=0.25in]{geometry}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{amssymb}
\usepackage{pst-barcode}
\usepackage{auto-pst-pdf}
\usepackage{xparse}
\usepackage{seqsplit}
\usepackage{array}
\usepackage{longtable, tabu}
\usepackage{fancyhdr}
\usepackage{multicol}
\usepackage[english]{babel}
\usepackage{xstring}
\usepackage{tikz}

答案1

这个在Linux下运行良好:

\documentclass{article}
\usepackage{auto-pst-pdf}
\ifpdf
  \usepackage{tikz}
\else
  \usepackage{pst-barcode}
\fi
\begin{document}
foo
%
\begin{pspicture}(0,-5mm)(2.5in,0.4in)
    \psbarcode{AB123456}{includetext height=0.375}{code39} 
\end{pspicture}
\begin{pspicture}(-0.4in,0)(5mm,2.5in)
    \psbarcode[rotate=90]{AB123456}{includetext height=0.375}{code39}
\end{pspicture}
%
bar
\end{document}

在此处输入图片描述

在 Windows 上运行此命令,xelatex结果相同:

\documentclass{article}
  \usepackage{tikz}
  \usepackage{pst-barcode}
\begin{document}
foo
%
\begin{pspicture}(0,-5mm)(2.5in,0.4in)
    \psbarcode{AB123456}{includetext height=0.375}{code39} 
\end{pspicture}
\begin{pspicture}(-0.4in,0)(5mm,2.5in)
    \psbarcode[rotate=90]{AB123456}{includetext height=0.375}{code39}
\end{pspicture}
%
bar
\end{document}

相关内容