Как пакетно преобразовать PDF в файлы JPG

Пакетное преобразование PDF в файлы JPG

Снова про Nautilus (Наутилус), то есть про файловый менеджер, который постоянно используется в Ubuntu. И сегодня практический пример, как использовать Nautilus для навигации по папкам и файлам, преобразуя файлы PDF в JPG, причём делая это пачками (папками). На лавры элегантности решения не претендую, потому как делал, что мог и для себя, а по ходу получилось довольно простое решение, посему делюсь.

Условие задачи

  • В отдельно взятой папке размещены файлы формата PDF (вперемешку ещё с чем-то).
  • PDF как правило много-страничные.
  • Требуется конвертировать каждый PDF в несколько JPG (каждую страничку в 1 файл).
  • JPG именовать как PDF, но и пронумеровать каждый afqk-лист последовательно, вот так:
    *-1.jpg, *-2.jpg … *-n.jpg

Решение в картинках

Открываем Nautilus и правой кнопкой мыши по любой папке вызываем контекстное меню, и открываем папку сценариев, см.рис.ниже.

2017 03 07 05

Создайте свою папку для размещения своих скриптов (возможно вы их будете придумывать с сегодняшнего дня :-), см.рис.ниже.

2017 03 07 06

Создайте текстовой файл, но с расширением .sh (хотя это, ровным счётом, не имеет никакого значения какое расширение, а только лишь, чтобы вы глазами видели и понимали, что это скрипт), см.рис.ниже.

2017 03 07 07

Можно сразу этот скрипт сделать исполняемым, для чего правой кнопкой мыши откройте контекстное меню и выберите «Свойства» этого файла. Поставьте галку «Разрешить выполнение…», см.рис.ниже.

2017 03 07 08

Ах да, обязательно в этот файл впишите код :-), см.рис.ниже.

Пакетное преобразование PDF в файлы JPG

КОД СКРИПТА:

#!/bin/sh
# Nautilus Script to convert all PDF file to JPG
# V.1.1
DIRECTORY="$1"
for file in "${1}"/*.pdf
  do
    pdftoppm -f 0 -jpeg -r 200 "$file" "${file%\.pdf}"
  done 
exit 0

После сохранения у вас будет вот такое контекстное меню с командой для преобразования в выбранной папке всех PDF-файлов в постраничные JPG-файлы, см.рис.ниже.

2017 03 07 09

Вуаля!

Вдруг не работает, значит у вас не установлена утилита pdftoppm то попробуйте установить набор:

sudo apt-get install poppler-utils

Если у вас есть какие-то другие реализации или идеи, то пожалуйста расскажите об этом в комментах ниже.

P.S. Если приходится обрабатывать пакетным образом много файлов изображений, рекомендую посмотреть здесь на сайте про программу phatch. Даже очень рекомендую, мне очень помогает.