I want to protect my e-mail address against spammers by including it as image instead of a (parsable) text. Normally I would have to create the image (with text) by myself and include this as figure. Is there a way of automatizing this (e.g. a package)?
Asked
Active
Viewed 274 times
1 Answers
5
You can use this with pdflatex --shell-escape
\documentclass{article}
\usepackage{graphicx}
\def\hideemail#1#2{%
\IfFileExists{#1.png}{}%
{\immediate\write18{%
echo '\detokenize{\setbox0\hbox{\strut #2}\hoffset-1in\voffset-1in\pdfpageheight\baselineskip
\pdfpagewidth\wd0\shipout\box0\bye'|pdftex;convert -density 600 texput.pdf #1.png}}}%
\box0{#2}%
\raisebox{-\dp\strutbox}{\includegraphics[width=\wd0]{#1.png}}}%
\begin{document}
some text with \hideemail{myemail}{david@example.com} an address
\end{document}
The exact command sequence written to the \write18 line depending on the utilities and operating system you have available. It uses plain pdftex to write a pdf just containing the address, then imagemagic convert to make a png.
the result is
However this gives absolutely no security to the email address, for example if I load the pdf (or even the png image of the pdf as uploaded to this site) into google docs it OCRs it automatically producing
some text with david@example.com an address
as plain text.
If google can OCR that automatically on file upload, so can whoever you are trying to hide this from.
David Carlisle
- 757,742

\documentclass{...}and ending with\end{document}. – Apr 16 '15 at 11:13randtextpackage. – TonioElGringo Apr 16 '15 at 11:49