Конвертирование jpg в pdf с помощью ImageMagick
Для начала установите ImageMagick.
Для Debian/Ubuntu:
$ sudo apt-get install imagemagick
Для CentOS/RHEL/Fedora:
$ sudo yum install imagemagick
В пакет ImageMagick входит утилита convert, которая позволяет конвертировать jpg в pdf. Эта команда масштабирует изображение таким образом, чтобы оно соответствовало размеру страницы. Конвертирование осуществляется с помощью команды:
$ convert input.jpg output.pdf
Если вы хотите конвертировать несколько изображений jpg в один pdf-файл (с несколькими страницами), это делается с помощью команды:
$ convert input1.jpg input2.jpg input3.jpg output.pdf
Утилита convert также поддерживает различные операции редактирования изображения перед его конвертированием в формат pdf.
С помощью опции "-page" команды convert можно задать размер страницы. Если размер больше, чем размер исходного изображения, оно будет размещено в левом нижнем углу страницы.
$ convert -page 1600x1200 input.jpg output.pdf
Можно также задать размер изображения:
$ convert -size 800x600 input.jpg output.pdf
Изменить размер изображения:
$ convert -resize 50% input.jpg output.pdf
Проблема с пакетным преобразованием.png в.pdf с помощью convert
convert /home/bill/TempScan/*.png myfile.pdf
выдает сообщение об ошибке:
convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.
Решение. Устранение ограничений
convert — это мощный инструмент командной строки для преобразования графики. Предположительно, это создает риски для безопасности, особенно если оно используется совместно с веб-сервером. В последних версиях Ubuntu реализован файл политики, в котором некоторые convert ограничены. По-видимому, этот файл по умолчанию запрещает "преобразовывать" несколько графических файлов в один файл PDF.
Файл политики /etc/ImageMagick-6/policy.xml, Вы можете редактировать этот файл как пользователь root для изменения политик.
Устранение всех ограничений использования
Для пользователей настольных компьютеров, не использующих веб-сервер, достаточно просто снять эти ограничения. Для этого можно удалить файл, но лучше переместить файл, переименовав его. С помощью этой команды вы переименовываете файл. В результате все политики отменяются, но вы все равно можете вернуться, если необходимо:
sudo mv /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xmlout
Чтобы вернуться к исходной ситуации, просто переименуйте обратно в исходное имя:
sudo mv /etc/ImageMagick-6/policy.xmlout /etc/ImageMagick-6/policy.xml