我在 Windows 中通过 Ghostscript 将 EPS 转换为 PDF ps2pdf.bat
。但 PDF 的作者是我的系统名称。我从 Windows 更改了我的用户名,但当我查看 PDF 的属性时,我的名字在那里。我该如何删除它?
答案1
我会建议exiftool
为此目的;据我所知,它是唯一可以操作 InfoDictionary 还可以操作 XMP 元数据并提供非常方便的界面的免费工具。
清除作者字段:
exiftool -Author= file.pdf
要删除所有元数据:
exiftool -all:all= file.pdf
exiftool
但请注意,并非真正删除InfoDictionary 中的元数据,但只是更新至新版本。事实上,你可以用以下命令恢复原始数据:
exiftool -pdf-update:all= file.pdf
要真正删除机密数据,您应该删除所有元数据exiftool
(这会删除 XMP 元数据以及对 InfoDictionary 的引用),然后使用大小优化工具从 PDF 中删除未引用的对象,以摆脱仍然存在的 InfoDictonary。我经常使用qpdf
以此目的:
exiftool -all:all= file.pdf
qpdf --linearize file.pdf file-really-no-meta.pdf
据我所知,结果是真正无元数据的 PDF。
有关 PDF 元数据的一些背景信息
PDF 元数据有两种形式:
(A)“经典” InfoDictionary,包含有限数量的键/值对。这也是由 编写的元数据类型pdflatex
;该hyperref
包提供了一个方便的接口来设置此元数据的某些值。
(二)较新的XMP 数据包,其中包含 RDF 数据流(XML 描述),目前主要由 Adobe 产品(自 5.0 版起的 Acrobat)使用。每当您在 Acrobat(可能还有任何其他 Adobe 产品)中编辑 PDF 文件时,它都会默默创建 XMP 元数据集并使用 InfoDictionary 中的值对其进行初始化。之后,仅使用 XMP 元数据。因此,删除 XMP 元数据也很重要。
答案2
使用hyperref
的\hypersetup
:
\documentclass{article}
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\hypersetup{pdfauthor={New Author}}
\begin{document}
test
\end{document}
该信息应从 PS 转移到 PDF。
请考虑以下文档(点击放大):
运行这个PDF 工具包到dump_data
元数据:
pdftk photo.pdf data_dump 输出信息.txt
除其他事项外,还info.txt
包括:
信息关键字:标题 信息价值:一张照片 InfoKey:制作人 信息值:Acrobat Distiller 9.5.3(Windows) 信息关键字:作者 InfoValue:一位作家 信息键:关键词 信息值:图片,人物 信息关键字:主题 信息价值:照片
要仅更新作者字段,请创建一个new_info.txt
包含
信息关键字:作者 InfoValue:新作者
并通过以下方式重新插入update_info
:
pdftk photo.pdf update_info new_info.txt 输出 photo_new.pdf
具有更新“值”的“键”现在已在元数据中更新(点击放大):
这可能特定于某些 PDF 生产商/版本。