#!/bin/bash

# Setup environment
PINFO=pdfinfo
PCONV=pdftoppm
JCONV=pnmtojpeg
ID=identify
MAXHEIGHT=950

# Process input
PDF=$1
NAME=${PDF%.*}

# Get page count
PAGES=$($PINFO "$PDF" | grep Pages: | sed 's/^.* //')
let ZEROS=${#PAGES}-1
if [ "$ZEROS" -gt "0" ]; then
	NUM="$(printf "%0${ZEROS}d")1"
else
	NUM="1"
fi
PPM="$NAME-$NUM.ppm"

# Generate image
$PCONV -f 1 -l 1 "$PDF" "$NAME"

# Rescale if necessary
HEIGHT=$($ID -format '%h' "$PPM")
if [ "$HEIGHT" -gt "$MAXHEIGHT"  ]; then
	$PCONV -f 1 -l 1 -scale-to $MAXHEIGHT "$PDF" "$NAME"
fi

# Convert image
$JCONV -optimize "$PPM" >"covers/$NAME.jpg"

# Cleanup
rm "$PPM"

