Answers:
尝试一下exiftool,它可以从存储库中的libimage-exiftool-perl包中获得。
例如,如果您有一个名为drawing.pdf的pdf文件,并且想要更新其元数据,请以这种方式使用实用程序exiftool:
exiftool -Title="This is the Title" -Author="Happy Man" -Subject="PDF Metadata" drawing.pdf
出于某种原因,输入的主题最终出现在pdf文件中的元数据的关键字字段中。在某些情况下甚至不是期望的问题,但是,这可能是有问题的,并且Nautilus元数据预览器不会显示此问题,而Adobe Acrobat查看器和PDF-XChange查看器会显示出来。
如果您不使用,程序将创建原始文件的备份。-overwrite_original
开关,这意味着副本将存在于更新的pdf所在的文件夹中。从上面的例子;一个名为的文件; 将创建drawing.pdf_original。
使用覆盖开关需要您自担风险,我的建议是不要使用它并编写脚本以将文件移动到更好的位置,以防万一。
exiftool -overwrite_original -all:all="" file.pdf
;“删除”所有元数据;2.)exiftool -PDF-update:all= file.pdf
用于确认仍然存在旧的元数据;3.)使用线性化文件 qpdf --linearize file.pdf
;4.)再次检查,就像在2.)中所做的一样;所有元数据都应该消失;
pdfinfo -meta file.pdf
)
exiftool -overwrite_original -tagsFromFile <srcfile> <destfile>
是我所需要的(该选项会-overwrite_original
覆盖原始<destfile>
)。
您可以使用来编辑元数据pdftk
。检出update_info
参数。至于数据文件,下面是一个例子:
InfoKey: Title
InfoValue: Mt-Djing: multitouch DJ table
InfoKey: Subject
InfoValue: Dissertation for Master degree
InfoKey: Keywords
InfoValue: DJing, NUI, multitouch, user-centered design
InfoKey: Author
InfoValue: Pedro Lopes
(来源)
pdftk
似乎是元数据中的Unicode字符。
pdftk
在新的pdf上使用时遇到了一些问题(新版本通过AESV2加密)。好像已经停产了。exiftool
工作得更好。
pdftk book.pdf dump_data output report.txt
2)编辑report.txt 3)pdftk book.pdf update_info report.txt output bookcopy.pdf
创建具有以下内容的名为“ pdfmarks”的文件:
[ /Title (Document title)
/Author (Author name)
/Subject (Subject description)
/Keywords (comma, separated, keywords)
/ModDate (D:20061204092842)
/CreationDate (D:20061204092842)
/Creator (application name or creator note)
/Producer (PDF producer name or note)
/DOCINFO pdfmark
然后将此pdfmarks
文件与PDF,PS或EPS输入文件合并:
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf no_marks.pdf pdfmarks
要详细说明该pdftk
方法,这很好,因为它可以向您显示所设置的所有内容,同时允许您更改所需的任何内容,这是一个脚本(用于您的.bashrc
别名文件或其他别名文件),可以使用一个命令来执行此操作。这将创建您要编辑的文件的新版本,使用元数据文件打开您喜欢的编辑器,然后实施您的更改,并将修改后的PDF文件的文件创建/修改时间设置为与原始文件相同。要使用它,在重新分配.bashrc
文件后,只需键入
editPDFmetadata myfile.pdf
这是别名:
editPDFmetadata() {
OUTPUT="${1}-new.pdf"
METADATA="tmp${1}-report.txt"
pdftk ${1} dump_data output $METADATA
$EDITOR $METADATA
pdftk ${1} update_info $METADATA output $OUTPUT
touch -r ${1} ${OUTPUT}
}
只需将上面的定义放入.bashrc
您的主文件夹中的文件中,然后打开一个新的终端即可使用。