Как изменить размер отпечатков PDF в процентах, используя AppleScript? - PullRequest
0 голосов
/ 30 января 2020

Я хотел бы создать 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. Спасибо за вашу помощь.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...