Linux. Конвертируем jpg в pdf


Существует несколько способов для осуществления этой операции.
1. Самый простой — используя утилиту ImageMagick convert.
Для одного файла:

1
convert filename.jpg output.pdf

Для нескольких файлов:

1
convert *.jpg output.pdf

Если необходимо каждый jpg поместить в отдельный pdf:

1
for x in *.jpg; do convert $x `basename $x jpg`pdf; done

Недостатки этого способа:
a. При конвертировании более двух файлов у меня выбрасывалась ошибка Segmentation fault. Это известный баг, встречающийся на некоторых системах. Чтобы ее избежать, необходимо добавить параметр compress:

1
convert *.jpg -compress zip output.pdf

b. Если конвертировать только один файл, то размер нормальный, но если файлов много, то размер размер пдф файла очень сильно увеличивается. При суммарном размере всех jpg файлов в 9 Мб, результирующий pdf был размером в 80 Мб.

2. Соответственно, чтобы избежать проблемы огромного размера pdf файла, решил конвертировать каждый jpg сначала в pdf, а далее — объединить все pdf файлы в один следующей командой, использую ghostscript:

1
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=finished.pdf  *.pdf

Здесь:
dBATCH — выйти по окончании выполнения
dNOPAUSE — не делать пауз
q — «тихий» режим, не выводить никакой информации
sDEVICE — какое устройство (движок) использовать
sOutputFile — в какой файл выводить информацию
Из плюсов — могу отметить сжатие файлов. Суммарный вес pdf, полученный после исполенения команды convert — 10 Мб. Выходной файл после исполнения команды ghostsript — 4,5 Мб.

Популярность: 4%


Также почитайте эти записи:

Получать новые статьи:

Один комментарий

  1. Спасибо за совет... файл получился почти в 8 раз меньше... чем при печати в файл))

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



Подписка на блог

Подпишись на обновление блога по RSS блога
Число подписчиков: 119

Поиск по сайту

Партнеры

Реклама

Партнеры