在文件之间传输元数据

问题描述

我正在将许多.pdf图形转换为.png,我想保留.pdf文件的元数据,例如 Author Creator Title ,等等。

是否可以将元数据从.pdf转换为.png? 或更一般地说,是从一个文件转换为另一个文件

解决方法

我可以为 PDF-> PNG 的特殊情况提供带有 Unix 命令的版本(它可能适用于其他目标图片格式)。也许在 Windows 中可以使用类似的命令。

该方法包括两个通过管道传递的步骤:

  1. 获取.pdf文件的元数据

    pdfinfo myfile.pdf
    
  2. 将此元数据获取到.png文件中。 (有关更多信息,请参见this post

    mogrify -comment "my metadata" myfile.png 
    

我发现.png文件没有像.pdf这样简单的元数据管理,因此,我只使用了mogrify ImageMagick 的命令,该命令将数据作为“注释”插入在图像中。可以通过运行identify.exe -verbose plogo.png | grep -i "comment:"或仅运行identify.exe -verbose plogo.png

来检索此注释。

现在在Unix中管道是这样的:

  pdfinfo myfile.pdf | tr '\n' ' ' | xargs -I metadata mogrify -comment "metadata" myfile.png

注意:tr '\n' ' '管道在空格中转换换行符,以便可以将pdf的整个元数据作为单行字符串输入到.png中。

如果只想选择元数据的某些条目,则可以使用grep命令进行过滤。例如,这里我们提取整个.pdf元数据的titleauthorcreator

  pdfinfo myfile.pdf | grep -i 'title\|author\|creator' | tr '\n' ' ' | xargs -I metadata mogrify -comment "metadata" myfile.png
,

这是最实用,功能最强大的可能性exiftool,适用于Linux,MacOS和Windows。

您可以将所有元数据标签从一个文件传输到另一个保留名称,并且可以任何文件格式

exiftools -tagsfromfile <source-file> <target-file>

例如,在这里,我将元数据从.pdf传输到.png

exiftools -tagsfromfile mysource.pdf mytarget.png

过滤标签: 您也可以选择要传输的标签。例如,如果我只想转移titleauthorcreator,则设置选项-<tag>

exiftools -tagsfromfile mysource.pdf -title -author -creator mytarget.png