Я использую следующий 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-файлов, поэтому я бы предпочел не делать выход и перезапуск вручную)