在为期刊撰写审稿报告时,最好让 pdflatex 生成的 PDF 文件完全匿名。
是否需要采取特殊措施来确保这一点?例如,如果结果文件中的任何地方包含对文件名及其路径的任何引用,则将产生信息(例如我的主目录/home/mariano/...
)
答案1
pdfTeX 和 luaTeX 将附加信息写入生成的 PDF 中,如pdftex-pdfkeys.pdf
:
- 文档目录包含一个附加键
PTEX.Fullbanner
,其中包含 pdftex/luatex 的完整版本,即“这是 pdfTeX,版本 3.1415926-2.4-1.40.13 (TeX Live 2012) kpathsea 版本 6.1.0)”。此键可在某些版本的 Adobe Reader 和 Adobe Acrobat 中看到(文档属性 -> 高级)。
对于每个包含的图像,这些键都会添加到包含该图像的 XObject 中:
PTEX.FileName
是 pdfTeX 所看到的文件名,例如“./sample2e.pdf”PTEX.PageNumber
是包含的 PDF 的页码PTEX.InfoDict
是所含 PDF 的信息词典(例如标题、作者等)的副本。
自 pdftex 1.40.17 起,这些键可以关闭;请参阅@BeingQuisitive 的回答。
答案2
如果您希望删除它,可以尝试:
\usepackage{hyperref}
\hypersetup{
pdfinfo={
pdfproducer={},
Title={},
Subject={},
Author={},
}
}
(对于软件包文档第 3.9 节中描述的所有密钥hyperref
)。
使用 Werner 的建议(我完全不知道),您可以直接使用引擎完成相同的操作PDFTeX
,因此:
\pdfinfo{
/Title ()
/Creator ()
/Producer ()
/Author ()
/Subject ()
/Keywords ()
}
TeX
然而,我对这个斜线语法(而不是反斜线)有点困惑。
答案3
欢喜吧!pdf隐私现在可以自动完成!
从包的文档中
要使用 pdfprivacy,只需将其包含进去:
\usepackage[〈options〉]{pdfprivacy}
[…] 默认情况下,[…] [t] 这会删除/隐藏所有 pdf 创建者、制作者、日期和 pdfTeX 元数据。标题、作者、主题和关键字等标准文档属性仍会保留。默认情况下,pdftrailerid 也会保留。
答案4
首先,PDF 不像 DOC 或 XLS——我从未遇到过其中的路径名或其他“隐藏”信息泄露有关我的计算机或环境的详细信息。 显然我错了,pdftex 和 luatex 确实将额外信息写入了 PDF 的对象目录中!详情请参阅 Martin 的回答。
然而,有时我们都会有点偏执。在这种情况下,一种简单但蛮力的方法就是栅格化整个 PDF(这里使用 ImageMagick):
convert -density 300 report.pdf report-anonymized.pdf
当然,缺点是生成的 PDF 会变得相当大,而且不再可能从中选择文本。
稍微不那么激烈的方法是将 PS 转换回 PDF,正如 Mariano 所建议的(这里使用 Ghostscript):
pdf2ps report.pdf - | ps2pdf - report-anonymized.pdf
这也会导致 PDF 完全重新编码。(我经常使用这种方法来“净化”由 OpenOffice 生成的透明胶片的 PDF,因为 pdflatex 经常会卡住)。