all in all front-end back-end linux web-services

Конвертация pdf в jpeg-изображения на Ubuntu

Понадобилось вытащить картинки из PDF-файла. Будучи пользователем Ubuntu 15.10, начал искать решение. Наткнулся на команду convert кроссплатформенного редактора ImageMagick.

Для его установки под Ubuntu достаточно ввести следующую команду:

  1. sudo apt-get install imagemagick

В итоге получилась такая команда для конвертации PDF-файла:

  1. convert -alpha Off -density 300 $PDF_FILE -resize 700 ./$FOLDER/output.jpg

Разбор команды (подробная документация по команде по ссылке):

  • -alpha Off - отключаем прозрачность у генерируемых изображений. Изначально импортировал в PNG и не знаю, как будет работать команда без этого параметра с JPG;
  • -density 300 - разрешение, подобрал опытным путём;
  • -resize 700 - ширина изображений;
  •  ./$FOLDER/output.jpg - итоговые файлы будут с именем output.jpg и порядковым номером перед расширением.

 

Далее занялся поиском консольного средства для оптимизации получившихся изображений. Остановился на команде jpegtran из пакета libjpeg-progs.

Для установки использовал команду:

  1. sudo apt-get install libjpeg-progs

Документация к команде по ссылке.

Итоговая команда:

  1. jpegtran -copy none -optimize -progressive -outfile $filename $filename

И всё это собрал в bash-скрипт, который привожу ниже:

  1. #!/bin/bash
  2. PDF_FILE=$1
  3. FOLDER=$2
  4. mkdir $FOLDER
  5. convert -alpha Off -density 300 $PDF_FILE -resize 700 ./$FOLDER/output.jpg
  6. for filename in ./$FOLDER/*.jpg; do
  7.     echo $filename;
  8.     jpegtran -copy none -optimize -progressive -outfile $filename $filename
  9.     mv $filename ${filename//output-/}
  10. done

Первым параметром передаётся путь к PDF-файлы, вторым — путь к директории, куда поместить картинки.

18.03.2016

Комментарии

Переход на Linux

«Подниматель пингвинов»