Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm looking for a good LaTeX package to generate one dimensional barcodes, that has the following properties.

  1. It doesn't require any external scripts or internet connection to work.
  2. It easily compiles to pdfs (so no pstricks hackery).

Do any such packages exist? An optional bonus would be if it could generate QR codes.

share|improve this question
    
Does this answer your question? –  Antal S-Z Dec 11 '10 at 4:06
    
I thought (but I have not tested) that pstricks works easily with pdftex now. No "hackery" is needed. –  Aditya Dec 11 '10 at 4:20
    
@Antal S-Z: I had a look at that question but it seems (though I don't know this) that the USPS is some special case. I certainly couldn't find a nice easy command like \barcode{9412472141} that would just generate the appropriate barcode at the right spot with my quick scan of the documentation of the envlab answer. Actually now that I look at the other answer, it seems as though the makebarcode library does as I wish. I will mark this as the correct answer if someone wants to provide it. –  bryn Dec 11 '10 at 5:39
    
Looks like a dupe of tex.stackexchange.com/questions/1429/… to me –  Joseph Wright Dec 11 '10 at 7:55
2  
@Joseph 2-dimensional QR codes and 1-dimensional barcodes are different things. –  Caramdir Dec 11 '10 at 19:16
show 1 more comment

3 Answers

With the pst-barcode-package you can produce all sorts of barcodes. For example,

\documentclass{minimal}
\usepackage{pst-barcode}

\begin{document}
\begin{pspicture}(3.5,1.2in)
    \psbarcode{12345678}{includetext inkspread=0.5}{ean8}
\end{pspicture}
\end{document}

example

The disadvantage is of course that you have to go the latexdvipsps2pdf route for compilation, so it doesn't fulfill your requirement (2).

[I have never used pst-barcode myself, but I just saw this answer by Michael Underwood and thought that it applies here as well and might be useful for someone.]

share|improve this answer
    
This looks nice, but I'd really like something that transparently works with pdflatex. –  bryn Dec 13 '10 at 5:37
5  
it is no problem to run xelatex or pdflatex -shell-escape when you have \usepackage{auto-pst-pdf} –  Herbert Jan 20 '11 at 19:15
add comment

Have a look at Typesetting Barcode in the TeX Catalogue Online. It lists some packages.

share|improve this answer
add comment

I wanted to try and tackle this question because I saw many solutions based on a dedicated font, and I thought: “Why use a font when you have perfectly good \vrule’s with TeX”. And so (in plain-tex):

\def\barcode#1#2#3#4#5#6#7{\begingroup%
  \dimen0=0.1em
  \def\stack##1##2{\oalign{##1\cr\hidewidth##2\hidewidth}}%
  \def\0##1{\kern##1\dimen0}%
  \def\1##1{\vrule height10ex width##1\dimen0}%
  \def\L##1{\ifcase##1\bc3211##1\or\bc2221##1\or\bc2122##1\or\bc1411##1%
    \or\bc1132##1\or\bc1231##1\or\bc1114##1\or\bc1312##1\or\bc1213##1%
    \or\bc3112##1\fi}%
  \def\R##1{\bgroup\let\next\1\let\1\0\let\0\next\L##1\egroup}%
  \def\G##1{\bgroup\let\bc\bcg\L##1\egroup}% reverse
  \def\bc##1##2##3##4##5{\stack{\0##1\1##2\0##3\1##4}##5}%
  \def\bcg##1##2##3##4##5{\stack{\0##4\1##3\0##2\1##1}##5}%
  \def\bcR##1##2##3##4##5##6{\R##1\R##2\R##3\R##4\R##5\R##6\11\01\11\09%
    \endgroup}%
  \stack{\09}#1\11\01\11\L#2%
  \ifcase#1\L#3\L#4\L#5\L#6\L#7\or\L#3\G#4\L#5\G#6\G#7%
    \or\L#3\G#4\G#5\L#6\G#7\or\L#3\G#4\G#5\G#6\L#7%
    \or\G#3\L#4\L#5\G#6\G#7\or\G#3\G#4\L#5\L#6\G#7%
    \or\G#3\G#4\G#5\L#6\L#7\or\G#3\L#4\G#5\L#6\G#7%
    \or\G#3\L#4\G#5\G#6\L#7\or\G#3\G#4\L#5\G#6\L#7%
  \fi\01\11\01\11\01\bcR}

\barcode 7046260816138
\bye

Which looks like: ean13barcode

share|improve this answer
3  
This would be useful as a LaTeX package. –  You Sep 19 '11 at 23:12
    
This is great! A CTAN package for this would be perfect. –  ℝaphink Sep 20 '11 at 6:49
    
@ℝaphink: I think there already is: makebarcode –  Tom Bombadil Oct 1 '12 at 12:09
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.