ImageMagick преобразует из порядка - PullRequest
1 голос
/ 24 апреля 2019

У меня есть 100 изображений с именами от img0.jpg до img99.jpg, которые необходимо преобразовать в файл PDF. проблема

convert img*.jpg out.pdf

добавляет страницы в порядке 1,11,2,22 и т. Д. как порядок определяется в imagemagick?

1 Ответ

1 голос
/ 24 апреля 2019

Либо нумеруйте свои страницы нумерованными числами, например, так: ImageMagick принимает их по порядку:

img000.jpg
img001.jpg
img002.jpg
...
img098.jpg

Тогда ваша исходная команда должна работать.


Или bash перечислите файлы по порядку и введите имена в ImageMagick следующим образом:

magick img{0..99}.jpg result.pdf

Или:

for file in img{0..99}.jpg; do echo $file; done | magick @- result.pdf

Или переименуйте ваши файлы, как в первом примере выше, но используя Perl rename:

rename --dry-run 's/\D//g; $_=sprintf("f-%05d.jpg",$_)' f*jpg

Пример вывода

'f0.jpg' would be renamed to 'f-00000.jpg'
'f1.jpg' would be renamed to 'f-00001.jpg'
'f10.jpg' would be renamed to 'f-00010.jpg'
'f11.jpg' would be renamed to 'f-00011.jpg'
'f12.jpg' would be renamed to 'f-00012.jpg'

Вы можетеls -v доступны для вас, в этом случае вы можете попробовать:

magick $(ls -v img*jpg) result.pdf
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...