Как объединить изображения в один файл PDF

13

У меня есть несколько изображений, которые я хочу объединить. Смысл слияния заключается в том, что, если у меня есть 5 изображений, я хочу положить подол рядом друг с другом следующим образом:

введите описание изображения здесь

Я хочу сделать эту командную строку. Например, команда может быть:

foo image1 image2 image3 image4 image5

Я также ищу любой способ, который объединяет много изображений, потому что у меня много изображений.

Кстати вывод может быть PDF или даже в формате изображения. А также это должна быть командная строка, потому что я хочу написать это в файле bash.

Мохаммед Реза Резвани
источник
Они все одинакового размера?
Тим
@ Да, они одинакового размера. У меня есть 29 диаграмм, которые я хочу разместить все рядом друг с другом в одном файле pdf или png
Мохаммад Реза Резвани,
@Tim, как проголосовать за редактирование? :)
Мухаммед Реза Резвани
2
О нет, не благо :) но спасибо. У меня довольно быстро на Inkscape, это заняло всего несколько минут!
Тим

Ответы:

19

Смотрите montageкоманду из imagemagick( sudo apt-get install imagemagick).

montage -geometry 250x250+0+0 image1.png image2.png out.png

Это изменит размер каждого изображения (до 250 пикселей без деформации) и объединит их без полей.

Больше примеров монтажа .


Вы также можете использовать convert(пример с подстановочными знаками):

convert -append pixpixp-*.jpg newpix.jpg
Rinzwind
источник
6

Я делал что-то подобное на днях. Сетки, кажется, есть. В моем случае у меня было переменное число изображений, передаваемых по сетке, и я просто хотел создать изображение шириной 17, как бы много изображений оно ни было.

montage -mode concatenate $(printf 'rose: %.0s' {1..136}) -resize 100x80 -tile 17x output.jpg

Это просто использует 136 изображений роз, чтобы сформировать сетку высотой 8 плиток. Очевидно, вы захотите изменить $(...)группу для списка ваших входных изображений. И вы захотите установить для переменной плитки что-то вроде, 2xесли вы просто хотите установить количество плиток.

С точки зрения вывода в PDF, вы можете просто изменить расширение. Таким образом, вы будете смотреть на что-то вроде:

montage -mode concatenate $(printf 'rose: %.0s' {1..5}) -tile 2x out.pdf
Оли
источник