Мне нужен инструмент командной строки для редактирования метаданных pdf-файлов.
Я использую планшет Aiptek MyNote Premium для записи своих заметок и минут на этом устройстве, импортирую их позже и автоматически конвертирую в pdf с помощью простого сценария, используя inkscape и ghostscript.
Существует ли какой-либо инструмент командной строки для добавления некоторых категорий в метаданные PDF, так что я могу найти PDF позже (например, с помощью gnome-do) по категориям?
Обновление: я пробовал решение с помощью pdftk и это работает, но кажется, что gnome-do не заботится о pdf-метаданных. Есть ли способ заставить гнома сделать это?
Попробуйте 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 будет создан.
используйте переключатель перезаписи на свой страх и риск, я предлагаю не использовать его и написать что-нибудь, чтобы переместить этот файл в лучшее место на всякий случай.
Вы можете редактировать метаданные с помощью 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
( Источник )
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.
Установите 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
Я тщательно протестировал функциональность pdftk и exiftool. Я использовал exiftool как в командной строке, так и в графическом окне. Они были протестированы для малых, средних и очень больших PDF-документов и обнаружили проблемы с самыми большими и сложными PDF-документами. По моему опыту, pdftk / exiftool имеет высшую функциональность только для небольших и простых в форматировании PDF-документов. Для больших и сложных PDF-документов (например, более 80 страниц с несколькими шрифтами) изображения и / или символы могут выпадать с последних страниц после редактирования метаданных. Решение может заключаться в использовании Ghostview, который я только что видел. Несомненно, со временем эти программы будут улучшаться.
Тем временем я нашел решение в использовании существующей формы Wine в Ubuntu с крошечной однооконной бесплатной программой, которая работает также для этих больших и сложных документов PDF: BeCyPDFMetaEdit (доступен, например, из бесплатных библиотек, таких как SoftPedia).
Он находится в библиотеке 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
дата обновления.
Мне нужно было очистить поле Автор в PDF-файле, экспортированном из LibreOffice. Ни одно из перечисленных выше решений не помогло мне, поэтому я использовал hexedit
и перезаписал поле Автор . Инструмент тупой, но эффективный!
Подробнее:
Запуск:
$ hexedit file.pdf
Вкладка для переключения на ASCII.
Ctrl + S для поиска «Автор».
Пропустить
Напишите 0
над всеми символами (кроме трех 0x03
символов ... YMMV) до закрывающих >
.
] Ctrl + X для сохранения и выхода.