Vandaag ben ik er eindelijk aan toegekomen om Automator te gebruiken en een van de opdrachtregelscripts die ik al eeuwen gebruik een beetje gebruiksvriendelijker te maken.
Het probleem dat ik heb geprobeerd op te lossen, is het feit dat de PDF-bestanden die een Mac maakt normaal gesproken van zeer hoge kwaliteit en dus groot zijn. Als je iemand gewoon een document wilt sturen om op het scherm te lezen, is een veel kleiner pdf-bestand voldoende. Het open source-pakket "ghostscript" heeft een tool genaamd ps2pdf die kan worden (mis)gebruikt om de grootte van componenten voor PDF-bestanden aan te passen. Ik heb dit geïnstalleerd in /opt/local/bin met behulp van de "macports"-software.
Om het mogelijk te maken om PDF's vanuit de Finder te verkleinen, heb ik met automator een nieuwe "Service" gemaakt. Ik laat dit op pdf-bestanden werken, en alleen in de Finder. In de workflow heb ik een stap "run shell script" toegevoegd. Het systeem geeft de bestanden als argumenten door aan dit script.
De inhoud van het script is:
export PATH=$PATH:/opt/local/bin
for f in "$@"
do
echo "$f"
d=`dirname "$f"`
cd "$d"
b=`basename "$f"`
ps2pdf -dPDFSETTINGS=/ebook "$b"
# Choose /screen for even smaller PDF, or
# /printer /prepress or /default for successively larger
if [ -f "$b".pdf ]; then
mv "$b" "$b".old
mv "$b".pdf "$b"
else
echo "Apparently conversion failed"
fi
done
Ik heb dit opgeslagen als de service met de naam "Small PDF", en klaar!

And using it is even easier:
