Использование подстановочных знаков с «конвертировать». Или "конвертировать" группу файлов

Я регулярно сканирую в своем домашнем задании для класса. Мой сканер экспортирует необработанные файлы jpg на USB, и оттуда я могу использовать gimp для редактирования и сохранения файлов в формате pdf. Я обнаружил, что один способ сэкономить время — это экспортировать многостраничные домашние задания в файл .mng, а затем использовать функцию преобразования, чтобы преобразовать его в pdf. Я делаю это так, потому что Gimp автоматически объединяет все слои при экспорте в pdf.

convert HW.mng HW.pdf

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

Я пробовал использовать подстановочные знаки в именах файлов для конвертации:

convert *.mng *.pdf

Это всегда работает успешно и никогда не выдает ошибку, но никогда не создает никаких PDF-файлов.

Обе

convert HW*.mng HW*.pdf

а также

convert "HW*.mng" "HW*.pdf"

выдать ошибку

convert: unable to open image `HW*.pdf': Invalid argument @ error/blob.c/OpenBlob/2712.

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

Есть ли способ преобразовать все файлы определенного типа в другой с помощью convert? Или мне попробовать использовать другую программу?

Попробуйте mogrify -format pdf *mng на некоторых тестовых файлах.

Mark Setchell 30.05.2019 00:14
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
262
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете увидеть этот пост StackExchange. Принятый ответ в основном делает то, что вы хотите.

for file in *.mng; do convert -input "$file" -output "${file/%mng/pdf}"; done

В частности, для convert используйте mogrify (который также является частью ImageMagick), как предложил Марк Сетчелл в комментарии. mogrify можно использовать для редактирования/преобразования файлов в пакетном режиме. Команда для вашего случая будет

mogrify -format pdf -- *.mng

Стоит отметить, что mogrify перезапишет исходные файлы, а convert — нет. ОП может этого хотеть, а может и не хотеть.

noah 30.05.2019 20:55

@noah В общем, да. Однако для -format есть исключение, и оно создаст новые файлы. На странице, на которую я ссылаюсь, написано: [...] исходный файл изображения перезаписывается (если вы не измените суффикс файла с помощью опции -format)

alfunx 30.05.2019 21:02

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