如何将OSX / Finder标签作为元数据写入PDF?


1

我已经为我的所有PDF文档添加了标签,但问题是,这些标签只有OSX(Mavericks)支持,这意味着如果我想在Windows或Linux机器上使用PDF,它们就会消失。

我正在寻找一种解决方案,可以将我的所有标签自动写入PDF作为关键字元数据。

Answers:


2

这是一个开始:Tag是一个命令行工具,用于操纵Mavericks中的标签。 ExifTool是一个用于将元数据写入图像的命令行工具。所以你需要做这样的事情,在命令行函数中将它们粘合在一起:

function tags2metadata(){ 
   tags=$(tag -N "$1");                
   exiftool -Keywords="${tags//,/, }" "$1";
   tag --add "$tags" "$1";
}

tags=$(tag -N "$1"); 将标签收集为逗号分隔列表(-N选项是为了避免它在其输出中显示文件名),例如 good,bad,ugly

exiftool -Keywords="${tags//,/, }" "$1";将标记添加到pdf元数据中的“关键字”元数据字段(该表达式用逗号+空格${tags//,/, } 替换每个逗号$tags,以便它们成为单独的关键字)。

现在,exiftool创建一个具有原始文件名称的新文件并重命名原始文件; 例如。将foo.pdf重命名为foo.pdf_original,并使用修改后的元数据创建新文件foo.pdf。你可以通过-overwrite_original像这样添加到exiftool命令来改变它:

exiftool -overwrite_original -Keywords="${tags//,/, }" "$1";

但是我选择使用tag --add "$tags" "$1";(函数中的$ 1表示给定的输入)将特立独行的Finder标签重新编写到新文件中。

因此,要使用它,您可以打开一个终端,在上面的脚本中输入cd到包含pdfs的目录,并执行以下操作:

for i in *.pdf
   do tags2metadata "$i"
done

如果您打开新文件并检查关键字,则应在其中找到所有Finder标记。

要安装标签和exiftool,我建议使用Homebrew。一旦你安装它,你只需要打字brew install exiftool tag,它将为你做必要的魔术。

请先测试一下你不介意搞砸的文件,然后再放弃好东西。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.