PDF to JPEG bash скрипт
Оформлял я в зимние каникулы заочную олимпиаду, используя LaTex для написания формул, систем уравнений и т.п., и сконвертировал результат в PDF. Ну а приемная комиссия, которая будет проверять решения задач, PDF не принимает, можно отправлять только DOC или JPEG/TIFF/GIF файлы.
Как конвертировать из PDF в DOC я так ине понял. Т.е. существуют даже online-конвертеры, но с русским языком они работают плохо, плюс ко всему у меня много картинок (чертежи, схемы), а конвертеры воспринимают их как таблицы и пытаются построить содержимое...
Значит, надо получить JPEG картинку. Для этого в Linux есть отличные утилиты: pdftoppm и ppmtojpeg. Что они делают -- понятно из названий, приведу лишь код, который позволит сократить количество шагов до конечного результата:
#!/bin/bash
if [ ! -z "$1" ]
then
pdf=$1
else
echo "Please input pdf file as argument"
exit
fi
pdftoppm $pdf `basename $pdf .pdf`
for file in *.ppm; do
ppmtojpeg $file > ${file/.ppm/.jpg}
rm $file
done
Запускать так: ./pdftojpeg.sh file.pdf. На выходе получится n JPEG картинок (n -- количество страниц в вайшем pdf-документе).
UPD: товарищ подсказывает, что можно использовать утилиту convert. Почитав руководство, пришел к выводу: мой скрипт равносилен одной строке:
convert -density 100 file.pdf file.jpg



Комментарии: