Python 结合主题和关键字标签的 ExifTool
Python ExifTool combining subject and keyword tags
我有一个 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 元数据。但是,当我在 Adobe Acrobat 或 Adobe Reader 中查看 PDF 元数据时,主题和关键字的值都显示在关键字字段中。
总的来说,在大多数情况下这不是一个关键问题,但我可以预见会收到很多关于此的投诉。
我可能只是遗漏了一些小的配置或设置,但我已经通读了文档,但我还没有找到解决这个问题的方法。
有没有人有什么想法或想法?
我找到了解决这个问题的方法,这就是我想到的。为了防止主题和关键字在关键字字段中组合,还有一些标签需要使用 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])
我有一个 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 元数据。但是,当我在 Adobe Acrobat 或 Adobe Reader 中查看 PDF 元数据时,主题和关键字的值都显示在关键字字段中。
总的来说,在大多数情况下这不是一个关键问题,但我可以预见会收到很多关于此的投诉。
我可能只是遗漏了一些小的配置或设置,但我已经通读了文档,但我还没有找到解决这个问题的方法。
有没有人有什么想法或想法?
我找到了解决这个问题的方法,这就是我想到的。为了防止主题和关键字在关键字字段中组合,还有一些标签需要使用 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])