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

10.01.2011 в 21:22 / Александр Гудулин / ]]>twitter facebook vk rss]]>
pdf, jpeg, ppm, pdftojpeg, pdftopm, ppmtojpeg, bash, linux

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