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

Alek$ ср, 03/06/2009 - 15:36

Возникла нужда сшить несколько картинок в один 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!

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



Trackback URL for this post:

http://nevkontakte.org.ru/trackback/330
Прикрепленный файлРазмер
mypng2pdf.sh410 байтов
Ninonya сб, 13/06/2009 - 18:32

спасибки за помощь на работе нужно было презентацию в pdf создать ваша статья оказалась очень ксати

Alek$ сб, 13/06/2009 - 18:57

Не за что Smile

Asya ср, 10/03/2010 - 12:05

Хех, нормально. Даже не думал что таким простым скриптом можно картинки в пдф конвертировать. Спасибо за скрипт, пригодится.

Lidiya чт, 11/03/2010 - 04:48

А для каких еще форматов его можно смодулировать?

Alek$ чт, 11/03/2010 - 18:58

Практически все популярные форматы.

Maryuta пт, 12/03/2010 - 03:43

Я как раз искал подобное решение для своего проэкта, только пришлось немного переделать. Спасибо.



Отправить комментарий

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <b> <s> <u> <p> <h3> <br> <strike> <sup> <pre> <h4> <hr>
  • Строки и параграфы переносятся автоматически.
  • You may use [inline:xx] tags to display uploaded files or images inline.
  • Текстовые смайлы будут заменены на графические.
CAPTCHA
Вы точно не бот?
15 + 6 =
Without JavaScript you won't pass captcha test, sorry. Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.