png2pdf: как сшить несколько картинок в один pdf файл
Возникла нужда сшить несколько картинок в один pdf файл. Гугль выдал несколько программ, но ни одна из них не имелась в репозитариях, и собрать самому тоже с первой попытки не получилось. Поэтому решил поколдовать сам.
В результате вышел такой скрипт:
#!/bin/bash
# (c) Alek$ http://nevkontakte.org.ru
# Required packages: netpbm, ghostscript-library, pdftk
if [[ "$#" -lt "2" ]]
then
echo "mypng2pdf.sh by Alek$, http://nevkontakte.org.ru"
echo " USAGE:"
echo " $0 file1.png ... fileN.png output.pdf"
echo ""
exit 0
fi
while [ "$#" -gt "1" ]
do
pngtopnm $1 | pnmtops | ps2pdf - $1.myp2p-pdf
shift 1
done
pdftk *.myp2p-pdf cat output $1
rm *.myp2p-pdf
Для работы ему нужны пакеты netpbm, ghostscript-library, pdftk, которые есть почти во всех распространенных дистрибутивах.
Используется он так:
mypng2pdf.sh file1.png ... fileN.png output.pdf
Кроме того, он легко модифицируется для обработки любых других форматов, для этого надо заменить команду pngtopnm на требуемую (jpegtopnm, giftopnm и т.д.)
Enjoy: mypng2pdf.sh!
UPD. Спустя полгода нашел отличную программу gscan2pdf, которая умеет сшивать картинки в pdf, при этом тонко настраивая разнообразные параметры, включая качество, метаданные и т.д.