Я хотел бы создать AppleScript, который, вставленный в рабочий процесс Automator в macOS, уменьшит размер группы PDF-файлов до нового размера в процентах (например, 97%).
Ручной эффект - это один мы получаем из Print> Scale> 97%> PDF> Save to PDF, просто очень утомительно, если приходится делать это много раз.
Как мне этого добиться?
У меня уже есть рабочий скрипт, который изменяет размер страницы с A4 на 9x12in, затем изменяет размер файла до 0,985%, но, по неясным для меня причинам, при изменении размера вывода на размер в точках бумаги формата A4 (595x842) и на размер 0,97 создается пустой PDF-файлы. Это скрипт:
#!/bin/bash
export PATH=$PATH:/usr/local/bin:$HOME/Desktop
EXT="_9x12.pdf"
OUTFOLDER="$1"
shift 1
function pdf_rescale () {
/usr/local/bin/pdfscale.sh -r 'custom pt 648 864' -s 0.985 "${1}" "${2}"
return
}
# loop through all input files, or folders and transform A4 PDF to 9x12 PDF scaled to 98.5 percent
for f in "$@"
do
# is it a directory?
if [ -d "$f" ]; then
# nullglob prevents expansion of "*.pdf" to variable x if no match
shopt -s nullglob
for x in "${f}"/*.pdf
do
shopt -s extglob
pdf_rescale "${x}" "${OUTFOLDER}/${x//+(*\/|.*)}${EXT}"
shopt -u extglob
done
shopt -u nullglob
# is it a non-zero, regular file?
elif [ -s "$f" ]; then
shopt -s extglob
pdf_rescale "${f}" "${OUTFOLDER}/${f//+(*\/|.*)}${EXT}"
shopt -u extglob
fi
done
exit 0
Конечно, это «Запуск сценария оболочки» рабочего процесса Automator. Спасибо за вашу помощь.