爬虫抵抗电子邮件地址

爬虫抵抗电子邮件地址

因此,我将我的简历公开发布在我的网站上,上面既有我的电子邮件地址,也有我的推荐人的电子邮件地址。为了保护我自己和他们免受垃圾邮件的侵害,我想知道是否有一种好的方法可以在 PDF 格式中增加对电子邮件地址的额外抵抗力。目前显示我使用的电子邮件地址:

\href{mailto:[email protected]}{\nolinkurl{[email protected]}}

我可以以某种方式改变这一点,让事情变得更安全一点吗?

答案1

如果您想将电子邮件地址作为图像包含,但又不想降低质量,为什么不使用 PostScript 图像呢?如果您有 Adob​​e Illustrator,则可以轻松地将 PDF 中的任何字体转换为矢量路径。我相信有开源工具可以做到这一点。

  • 创建一个新的 Illustrator 文档
  • 文件 > 放置... > 选择包含您简历的 PDF
  • 对象 > 拼合透明度... > 勾选“将所有文本转换为轮廓” > 确定
  • 删除除电子邮件地址之外的所有内容
  • 调整画板并导出为 PDF

在此处输入图片描述

此导出可替换简历中的电子邮件地址。它不可选择,且质量与任何文本一样好。

在此处输入图片描述 在此处输入图片描述

\documentclass{article} 
\usepackage{graphicx}
\begin{document}
This is my CV. You can reach me at \smash{\raisebox{-2pt}{\includegraphics{email}}} if you like.
\end{document}

更新:

有几种免费工具可以矢量化 PDF。有些工具会自动用标准字体替换未知的嵌入字体。这些不应该使用。不幸的是,Inkscape 仍是其中之一(请参阅这是 2009 年的错误报告)。

维基百科图形实验室页面提到其他一些工具:PDF2SVG 或在线服务 misc2svg。我尝试了 misc2svg,效果很好。SVG 输出可以在 Inkscape 中裁剪并转换为 PDF。您甚至可以将 SVG 转换为可以包含在 LaTeX 源代码中的 TikZ/PGF 路径(例如使用inkscape2tikz 扩展)。

答案2

这里有两种方法。第一种方法,我使用实际的@字符,但当我写出它时,我会用一些非常小的白色文本覆盖它。因此,在复制/粘贴 PDF 时,您会获得作为副本一部分的额外文本:

\documentclass{article}
\usepackage{stackengine}
\usepackage{graphicx}
\usepackage{xcolor}
\def\fauxat{\stackinset{c}{}{c}{}{\color{white}\scalebox{.01}{foobar}}{@}}
\parindent 0pt
\begin{document}
Using the actual symbol, @,\\
mailto:name\fauxat domain.tld\\
in the PDF copy/paste, appears as\\
``mailto:name@foobar domain.tld''
\end{document}

在此处输入图片描述

在第二种方法中,我避免使用符号@,但这意味着我必须通过在无衬线字体内@叠加斜体来创建一些看起来很像符号的东西。这样,当从 PDF 复制时,副本中就不会有符号。aO@

\documentclass{article}
\usepackage{stackengine}
\usepackage{graphicx}
\def\fauxat{\raisebox{-1.4pt}{\stackinset{c}{-.4pt}{c}{}{%
  \scalebox{.92}{\itshape{a}}}{\textsf{O}}}}
\parindent 0pt
\begin{document}
mailto:name\fauxat domain.tld

in the PDF copy/paste, appears as\\
``mailto:nameOa domain.tld``
\end{document}

在此处输入图片描述

相关内容