我正在使用以下 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。之后,我可以从结束的地方重新启动,pdfpen 冻结的 pdf 无法正确处理。结论:冻结与 pdf 本身无关。
有没有办法:
- 让 AppleScript 注意到 pdfpen 冻结了,
- 强制退出 pdfpen
- 然后使用最后一个未处理的文件重新启动该过程
我有一个想法,我可以通过让脚本跟踪其进度来处理最后一部分,并且可能可以通过以下方式实现第二点
do shell script "killall pdfpen"
但对于第一点,我完全不知所措。我尝试过“超时”声明,但这似乎没有任何区别。
关于如何处理这个问题有什么建议吗?
(我需要处理 150 多个文件夹,每个文件夹包含 5 到 20 个 pdf 文件,因此我宁愿避免手动退出并重新启动)