#!/bin/bash
#
# version-20220724
# $1 is passed filename of JPG
# is used to convert FULL-PAGE images
# to US Letter-sized PDFs.
# Input must be either 850x1100 or 2550x3300
# uses graphicsmagick for conversion

if [[ "$DISPLAY" && "$(which Xdialog 2>&1 | grep -v "which: no")" ]]; then
	dialog="Xdialog"
else
	dialog="dialog"
fi

pth=`dirname "$1"`
cd $pth


echo 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABWVBMVEUAAFHQAADRAADRAQHRAgLS
AwPSBATSBQXSBgbQDg7REBDVFBTUGBjOHh7OICDWHh7XICDNKSnPKSnQKSnKKyvYJyfRKyvRLS3O
Li7RLi7ZLy/aMjLTNjbTNzfSPDzTPDzQPT3bOjrRPT3TPT3SPj7SPz/TPz/UPz/SQUHcQkLdQkLZ
RkbdRUXdRkbXSEjYSUnXSkreSkrXTU3eTEzZT0/ZVFThVlbZWVnZW1vhWVniXl7iZWXjamrlbm7k
b2/kcHDlcnLldHTmdXXnenrme3vogYHogoLnhITph4fqiIjoiYnjjY3klJTrkpLqk5PslpbrmJjr
mZntnp7un5/uoKDtpKTtpaXvqKjuq6vwq6vvra3wrq7xsbHwtrbzu7v0wsL1xsb1yMj0ysr0zMz2
z8/11dX41tbz2dn42tr529v23d353d3539/64uL56ur57Oz68fH8+/v8/PwJC5n4AAAAAXRSTlMA
QObYZgAAAN9JREFUGNNjYAACSQMDPT09fR5eBggQTC8CA0dvqIhEYVFRLBA7FPnwgQWEgLKaNoVF
UXZh2mABMaCADpN9UVFecpIcAyMjI6e1tTU/E5MLyBw1BsPsFKnoNH+OyNwgd6CACoOZr7NnonSM
VbwWN5NXUZEcg1lmjlmigK1bfIYrE2tqkTyDWbgAU6JinGW8KBNzQFGRMoOOExNTSIIHW7AAsx/Q
DCWQLVxgW1gCQbaog9whDmTosoeCna8KEhAGOts4AuIfDZCASFZRUT6EX6AAdrusqZGRkbmFibm5
DAMAdng70mf4Kd0AAAAASUVORK5CYII=' | base64 -d > /tmp/icon.png


# get rid of blanks in filenames
mv "$1" `echo $1 | tr ' ' '_'` 2>/dev/null
# name the output file (PDF, naturally)
newfile=`echo "$1" | sed "s/\.jpg/\.pdf/g"`
# get width and height
w=`gm identify -format "%w" $1`
h=`gm identify -format "%h" $1`
VALUE=`zenity --scale --text="Output Quality" --value="90"  --window-icon="/tmp/icon.png" --min-value="50" --max-value="100"`
if [ "$h" -gt "$w" ]; then
	if [[ "$w" = "850" || "$w" = "2550" ]]; then
		# Horizontal Layout
		if [ "$w" = "850" ]; then
			gm convert $1 -page 850x1100 -quality $VALUE $newfile | zenity --width=400 --title="Converting" --progress --pulsate --window-icon="/tmp/icon.png" --no-cancel --auto-close --text="$ttxt"  2> /dev/null&
		else
			gm convert $1 -page 2550x3300 -quality $VALUE $newfile | zenity --width=400 --title="Converting" --progress --pulsate --window-icon="/tmp/icon.png" --no-cancel --auto-close --text="$ttxt"  2> /dev/null&
		fi
	else
		$dialog --title "Incorrect Size" --msgbox "\nThis utility is to convert full-page images to US Letter-sized PDFs.\nInput size must be -> 850x1100 or 2550x3300.\n" 0 0
	fi
	
else	

	if [[ "$w" = "1100" || "$w" = "3300" ]]; then
		# Horizontal Layout
		if [ "$w" = "1100" ]; then
			gm convert $1 -page 1100x850 -quality $VALUE $newfile | zenity --width=400 --title="Converting" --progress --pulsate --window-icon="/tmp/icon.png" --no-cancel --auto-close --text="$ttxt"  2> /dev/null&
		else
			gm convert $1 -page 3300x2550 -quality $VALUE $newfile | zenity --width=400 --title="Converting" --progress --pulsate --window-icon="/tmp/icon.png" --no-cancel --auto-close --text="$ttxt"  2> /dev/null&
		fi
	else
		$dialog --title "Incorrect Size" --msgbox "\nThis utility is to convert full-page images to US Letter-sized PDFs.\nInput size must be -> 850x1100 or 2550x3300.\n" 0 0
	fi	
fi

