1

Я использую следующий AppleScript для пакетной обработки PDF-файлов для ocr:

tell application "Finder"
    set target_folder to target of front Finder window
repeat with i from 1 to count (every folder of target_folder)
    set current_folder to folder i of target_folder
    set current_batch to (document files of entire contents of current_folder whose name ends with "pdf")
    repeat with i from 1 to count (every item of current_batch)
        set current_pdf to item i of current_batch
        tell application "PDFpen"
            activate
            open current_pdf as alias
            tell document 1
                ocr
                repeat while performing ocr
                    delay 1
                end repeat
                delay 1
                close with saving
            end tell
        end tell
    end repeat
end repeat
end tell

Хотя скрипт отлично работает, у меня есть следующая проблема. После обработки нескольких файлов (скажем, между 10 и 50) pdfpen иногда зависает во время ocr (индикатор выполнения останавливается ближе к концу). Единственный выход - остановить AppleScript и затем ForceQuit pdfpen. После этого я могу перезапустить, где я закончил, и PDF-файл, на котором pdfpen заморожен, не обрабатывается правильно. Вывод: замораживание не зависит от самого PDF.

Есть ли способ:

  • заставить AppleScript заметить, что pdfpen завис,
  • Forcequit pdfpen
  • а затем перезапустите процесс с последним необработанным файлом

У меня есть представление о том, как я мог бы справиться с последней частью, если бы скрипт отслеживал ее продвижение, и, вероятно, мог бы достичь второго пункта с

do shell script "killall pdfpen"

но я полностью потерян, когда дело доходит до первого пункта. Я экспериментировал с объявлениями «тайм-аут», но это, похоже, не имеет никакого значения.

Любые предложения о том, как с этим бороться?

(Мне нужно обработать более 150 папок, каждая из которых содержит от 5 до 20 pdf-файлов, поэтому я бы предпочел не делать выход и перезапуск вручную)

0