Ne v kontakte Antisocial programmer's blog

png2pdf: как сшить несколько картинок в один pdf файл

    howto     png2pdf     soft

Возникла нужда сшить несколько картинок в один 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, при этом тонко настраивая разнообразные параметры, включая качество, метаданные и т.д.

blog comments powered by Disqus