Applescript + pdfpen 用于对多个文件进行 ocr:当 pdfpen 冻结时如何继续

Applescript + pdfpen 用于对多个文件进行 ocr:当 pdfpen 冻结时如何继续

我正在使用以下 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 文件,因此我宁愿避免手动退出并重新启动)

相关内容