Как редактировать метаданные pdf из командной строки?

Мне нужен инструмент командной строки для редактирования метаданных pdf-файлов.

Я использую планшет Aiptek MyNote Premium для записи своих заметок и минут на этом устройстве, импортирую их позже и автоматически конвертирую в pdf с помощью простого сценария, используя inkscape и ghostscript.

Существует ли какой-либо инструмент командной строки для добавления некоторых категорий в метаданные PDF, так что я могу найти PDF позже (например, с помощью gnome-do) по категориям?

Обновление: я пробовал решение с помощью pdftk и это работает, но кажется, что gnome-do не заботится о pdf-метаданных. Есть ли способ заставить гнома сделать это?

121
задан 22 February 2011 в 09:53

7 ответов

Попробуйте exiftool, он доступен из пакета libimage-exiftool-perl в репозиториях.

В качестве примера, если у вас есть pdf-файл под названием drawing.pdf и вы хотите обновить его метаданные, используйте утилиту, exiftool, таким образом:

exiftool -Title="This is the Title" -Author="Happy Man" -Subject="PDF Metadata" drawing.pdf

По какой-то причине введенный субъект попадает в поле ключевых слов метаданных в pdf-файле. в некоторых случаях это не проблема, даже желательно, однако, это может быть проблематично, evince и просмотрщик метаданных nautilus не показывает этого, но Adobe Acrobat viewer и PDF-XChange viewer показывает.

Программа создаст резервную копию оригинального файла, если вы не используете переключатель; -overwrite_original, это означает, что дубликат будет существовать в папке, где находится обновленный pdf-файл. Из примера выше; файл с именем ; drawing.pdf_original будет создан.

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

129
ответ дан 22 February 2011 в 09:53

Вы можете редактировать метаданные с помощью pdftk . Проверьте параметр update_info . Что касается файла данных, то ниже приведен пример:

InfoKey: Title
InfoValue: Mt-Djing: multitouch DJ table
InfoKey: Subject
InfoValue: Dissertation for Master degree
InfoKey: Keywords
InfoValue: DJing, NUI, multitouch, user-centered design
InfoKey: Author
InfoValue: Pedro Lopes

( Источник )

19
ответ дан 22 February 2011 в 09:53

Biex telabora fuq il- 11111840] metodu pdftk , li huwa sabiħ għax jurik dak kollu li qed jiġi ssettjat, fl-istess ħin li jippermettilek tibdel kull ħaġa li tixtieq, hawnhekk hemm skript (għal .bashrc tiegħek jew ieħor aliases file) biex tagħmel dan b’kmand wieħed. Dan joħloq verżjoni ġdida tal-fajl li trid teditja, tiftaħ l-editur favorit tiegħek bil-metadatafile, u mbagħad timplimenta l-bidliet tiegħek u tissettja l-ħin tal-ħolqien / modifika tal-fajl fuq il-fajl PDF modifikat biex ikun l-istess bħall-oriġinal. Biex tużah, wara li tirriżorja l-fajl .bashrc tiegħek, ikteb biss

editPDFmetadata myfile.pdf

Hawn hu l-psewdonimu:

editPDFmetadata() {
OUTPUT="${1}-new.pdf"
METADATA="tmp${1}-report.txt"
pdftk "${1}" dump_data output "$METADATA"
$EDITOR "$METADATA"
pdftk "${1}" update_info "$METADATA"  output "$OUTPUT"
touch -r "${1}" "${OUTPUT}"
}

Sempliċement poġġi d-definizzjoni hawn fuq fil- .bashrc fajl fil-folder tad-dar tiegħek, imbagħad iftaħ terminal ġdid u jkun lest biex jintuża.

5
ответ дан 22 February 2011 в 09:53

Использование Ghostview

Установите ghostscript с помощью:

$ sudo apt install ghostscript

Создайте файл с именем pdfmarks с аналогичным содержимым:

[ /Title (Document title)
  /Author (Author name)
  /Subject (Subject description)
  /Keywords (comma, separated, keywords)
  /ModDate (D:20061204092842)
  /CreationDate (D:20061204092842)
  /Creator (application name or creator note)
  /Producer (PDF producer name or note)
  /DOCINFO pdfmark

затем объедините это pdfmarks файл с входным файлом PDF, PS или EPS:

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf original.pdf pdfmarks

Источник: http://milan.kupcevic.net/ghostscript-ps-pdf/

10
ответ дан 22 February 2011 в 09:53

Я тщательно протестировал функциональность pdftk и exiftool. Я использовал exiftool как в командной строке, так и в графическом окне. Они были протестированы для малых, средних и очень больших PDF-документов и обнаружили проблемы с самыми большими и сложными PDF-документами. По моему опыту, pdftk / exiftool имеет высшую функциональность только для небольших и простых в форматировании PDF-документов. Для больших и сложных PDF-документов (например, более 80 страниц с несколькими шрифтами) изображения и / или символы могут выпадать с последних страниц после редактирования метаданных. Решение может заключаться в использовании Ghostview, который я только что видел. Несомненно, со временем эти программы будут улучшаться.

Тем временем я нашел решение в использовании существующей формы Wine в Ubuntu с крошечной однооконной бесплатной программой, которая работает также для этих больших и сложных документов PDF: BeCyPDFMetaEdit (доступен, например, из бесплатных библиотек, таких как SoftPedia).

3
ответ дан 22 November 2019 в 23:11

Он находится в библиотеке act , поэтому здесь вы также можете редактировать метаданные PDF из командной строки.

$ npm install @lancejpollard/act -g
$ act update input.pdf --title foo --author bar --subject baz -k one -k two

Вы также можете установить -p издатель, -c создатель, -t0 дата создания и -tn дата обновления.

0
ответ дан 5 January 2021 в 23:55

Мне нужно было очистить поле Автор в PDF-файле, экспортированном из LibreOffice. Ни одно из перечисленных выше решений не помогло мне, поэтому я использовал hexedit и перезаписал поле Автор . Инструмент тупой, но эффективный!

Подробнее:

  1. Запуск:

     $ hexedit file.pdf
     
  2. Вкладка для переключения на ASCII.

  3. Ctrl + S для поиска «Автор».

  4. Пропустить в начале поля.

  5. Напишите 0 над всеми символами (кроме трех 0x03 символов ... YMMV) до закрывающих > .

  6. ] Ctrl + X для сохранения и выхода.

1
ответ дан 5 January 2021 в 23:55

Другие вопросы по тегам:

Похожие вопросы: