问题描述
我需要一个命令行工具来编辑pdf-files的元数据。
我正在使用Aiptek MyNote Premium平板电脑在此设备上编写我的笔记和分钟,稍后导入它们并使用inkscape和ghostscript使用简单的脚本自动将它们转换为pdf。
是否有任何命令行工具可以将一些类别添加到pdf的元数据中,因此我可以按类别找到pdf(例如使用gnome-do)?
更新:我尝试使用pdftk的解决方案,它的工作原理,但似乎gnome-do没有照顾pdf-metadata。有没有办法让gnome-do这样做?
最佳解决方法
尝试使用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。
使用覆盖开关需要您自担风险,我的建议是不要使用它并编写脚本以将此文件移动到更好的位置以防万一。
次佳解决方法
您可以使用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
(Source)
第三种解决方法
使用Ghostview
使用以下内容创建名为“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
资料来源:http://milan.kupcevic.net/ghostscript-ps-pdf/