dotfiles/config/scripts/pdfrename

50 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Change the title of a PDF file
if [[ -z "$1" || -z "$2" ]]; then
echo "Usage: $0 FILE TITLE [CREATOR [PRODUCER]]"
echo
echo "Arguments:"
echo " FILE Path to the PDF document"
echo " TITLE Content of the Title tag"
echo " CREATOR Content of the Creator tag"
echo " PRODUCER Title to give"
exit 1
fi
file="$1"
title="$2"
creator="$3"
producer="$4"
if [ ! -f "$1" ]; then
echo "No such file or directory: $1" >> /dev/stderr
exit 2
fi
instructions=$(mktemp)
echo "InfoBegin" >> "$instructions"
echo "InfoKey: Title" >> "$instructions"
echo "InfoValue: $title" >> "$instructions"
if [ -n "$creator" ]; then
echo "InfoBegin" >> "$instructions"
echo "InfoKey: Creator" >> "$instructions"
echo "InfoValue: $creator" >> "$instructions"
fi
if [ -n "$producer" ]; then
echo "InfoBegin" >> "$instructions"
echo "InfoKey: Producer" >> "$instructions"
echo "InfoValue: $producer" >> "$instructions"
fi
copy=$(mktemp)
cp "$file" "$copy"
pdftk "$copy" update_info "$instructions" output "$file"
rm "$instructions" "$copy"