1

我有一个 python 脚本exiftool用于更新给定 PDF 中的元数据。exiftool可以在这里找到文档和下载: PyExifTool

以下是我当前的代码:

if __name__ == '__main__':
    from exif_tool import ExifTool, fsencode

    source_file = 'D:\\my_file.pdf'
    author = 'some author'
    keywords = 'some keywords'
    subject = 'some subject'
    title = 'some title'   

    with ExifTool('exiftool.exe') as et:
        params = map(fsencode, ['-Title=%s' % title,
                                '-Author=%s' % author,
                                '-Creator=%s' % author,
                                '-Subject=%s' % subject,
                                '-Keywords=%s' % keywords,
                                '%s' % source_file])

        et.execute(*params)
        os.remove('%s_original' % source_file)

        for key, value in dict(et.get_metadata(source_file)).items():
              if key.startswith('PDF:') and ('Author' in key or 'Keywords' in key or 'Title' in key or 'Subject' in key):
                print key, value


>>> PDF:Keywords [u'some', u'keywords']
>>> PDF:Title some title
>>> PDF:Subject some subject
>>> PDF:Author some author

上面的代码有效并相应地更新了 PDF 元数据。但是,当我在 Adob​​e Acrobat 或 Adob​​e Reader 中查看 PDF 元数据时,主题和关键字的值都显示在关键字字段中。

在此处输入图像描述

总的来说,在大多数情况下,这不是一个关键问题,但我可以预见会收到很多关于此的投诉。

我可能只是缺少一些小的配置或设置,但我已经阅读了文档,但我找不到任何解决这个问题的方法。

有没有人有任何想法或想法?

4

1 回答 1

1

我能够找到解决此问题的解决方案,这就是我想出的。为了防止主题和关键字在关键字字段中组合,还有一些标签需要使用 更新Exiftool

params = map(fsencode, ['-PDF:Subject=%s' % subject,
                        '-XMP:Subject=',
                        '-PDF:Title=%s' % title,
                        '-XMP:Title=',
                        '-PDF:Author=%s' % author,
                        '-XMP:Author=',
                        '-PDF:Keywords=%s' % keywords,
                        '-XMP:Keywords=',
                        '-overwrite_original',
                        '%s' % source_file])
于 2015-02-19T15:14:22.997 回答