首页 > 解决方案 > PDF 文件元数据的批处理编辑器

问题描述

抱歉,如果以前有人问过这个问题。我正在批量编辑许多 PDF 文件的元数据(主要是标题、作者、关键字)。我可以单独编辑它们,但我有超过 100 个文件要编辑(对于 Calibre),我找不到任何允许我这样做的程序。

是否可以使用 EXIFTOOL 或 Ghostscript 编写脚本?

更新:这是我到目前为止所得到的......

import exiftool
import csv

files = csv.csv2sequence('metadata.csv')

for file in files:
    filename     = file[0]
    set_title    = '-title='    +file[1]
    set_author   = '-author='   +file[2]
    set_creator  = '-creator='  +file[3]
    set_producer = '-producer=' +file[4]
    with exiftool.ExifTool() as et:
        et.execute(set_title,filename)
        et.execute(set_author,filename)
        et.execute(set_creator,filename)
        et.execute(set_producer,filename)

... 元数据存储在 csv 文件中。但是,当我运行它时出现此错误...

TypeError: sequence item 0: expected a bytes-like object, str found

...来自 exiftool.py 文件。不知道这是什么...

标签: pdfbatch-processingghostscriptexiftool

解决方案


Ghostscript 根本不编辑PDF 元数据。它最多会生成一个新的 PDF 文件,其中的元数据是您想要的,但内容(即实际的 PDF 操作)将不一样,并且某些“元数据”可能会丢失,因为 Ghostscript 的 pdfwrite 设备不保留它从输入到输出。

显然 exiftool 可以改变元数据,所以你最好使用它。我有理由相信你可以编写一个 shell 脚本来做你想做的任何事情。


推荐阅读