Читать все метаданные из файла PDF и записывать обратно в файл PDF в командной строке Linux?

Уже есть приложение, которое делает это pdftk(см. Также Как сохранить закладки при перестановке страниц PDF-файла с помощью таких инструментов, как pdftk? — Unix & Linux Stack Exchange ):

pdftk in.pdf dump_data output in.info verbose     # dump all metadata to file in.info
pdftk in2.pdf update_info in.info output out.pdf  # write all metadata from file in.info into in2.pdf, generating out.pdf

Однако я только что попал в ситуацию, когда pdftkне могу открыть свой PDF-файл размером более 40 МБ (который можно открыть с помощью evinceили acroreadили других инструментов), и поэтому я хотел бы спросить здесь об альтернативах: есть ли какие-либо другие инструменты командной строки, которые работают в линуксе можно сделать то же самое, что и выше?

(Я подозреваю, exiftoolчто может, но его помощь слишком сложна для меня, и я вижу, что он может читать/записывать отдельные теги, но не как выгружать и обновлять все определенные теги метаданных сразу, как это делает приведенный выше пример) pdftk.

Ответы (1)

Ну, видимо, exiftoolможно сделать что-то вроде этого:

Документация по применению exiftool

exiftool -TagsFromFile src.jpg '-xmp:all<all' dst.jpg

Скопируйте всю возможную информацию из src.jpg и запишите в формате XMP в dst.jpg.

... и из моих ограниченных тестов это работает для файлов PDF, например:

exiftool -TagsFromFile src.pdf '-xmp:all<all' dst.pdf

... но это "применяет" теги непосредственно из одного файла к другому - он не экспортирует и не импортирует промежуточный текстовый файл. Если я когда-нибудь придумаю, как это сделать, я обновлю этот ответ.

Наконец, для PDF обратите внимание на это, что указано в той же exiftoolссылке на документацию приложения выше:

3) Изменения в файлах PDF являются обратимыми, поскольку исходная информация никогда не удаляется из файла. Таким образом, ExifTool сам по себе не может использоваться для безопасного редактирования метаданных в файлах PDF.