50 lines
1.1 KiB
Plaintext
50 lines
1.1 KiB
Plaintext
|
#!/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"
|
||
|
|
||
|
|