#!/usr/bin/env bash

set -e

if [ $# -ne 2 ]; then
    echo "Usage: $0 input.pdf output.pdf"
    exit 1
fi

INPUT="$1"
OUTPUT="$2"
TMPDIR="$(mktemp -d)"

echo "Converting PDF pages to images..."
DPI=300

gs \
  -dSAFER \
  -dBATCH \
  -dNOPAUSE \
  -sDEVICE=png16m \
  -r$DPI \
  -sOutputFile="$TMPDIR/page-%04d.png" \
  "$INPUT"

COLORIZE="0,30,100" # yellow on black

echo "Processing pages (invert + amber)..."
for img in "$TMPDIR"/page-*.png; do
    echo "Processing: $img -> $img.pdf";
    convert "$img" \
        -colorspace Gray \
        -negate \
        -colorize $COLORIZE \
        "$img.pdf"
done

echo "Reassembling PDF..."
pdftk "$TMPDIR"/page-*.pdf cat output "$OUTPUT"

echo "Cleaning up..."
rm -rf $TMPDIR"

echo "Done: $OUTPUT"
