ฉันใช้ 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 หลังจากนั้นฉันสามารถเริ่มต้นใหม่ได้ในตอนที่ฉันสิ้นสุดและไฟล์ PDF ที่ pdfpen froze ประมวลผลไม่ถูกต้อง สรุป: การแช่แข็งเป็นอิสระจาก pdf ของตัวเอง
มีวิธีการ:
- ทำให้ AppleScript สังเกตว่า pdfpen แข็งมาก
- pdf บังคับ
- จากนั้นรีสตาร์ทกระบวนการด้วยไฟล์ที่ไม่ได้ประมวลผลล่าสุด
ฉันมีความคิดว่าฉันสามารถจัดการกับส่วนสุดท้ายได้อย่างไรโดยให้สคริปต์ติดตามความคืบหน้าและอาจจะบรรลุจุดที่สองด้วย
do shell script "killall pdfpen"
แต่มันหายไปโดยสิ้นเชิงเมื่อพูดถึงประเด็นแรก ฉันได้ทดลองใช้การประกาศ "หมดเวลา" แต่ดูเหมือนจะไม่สร้างความแตกต่างเลย
ข้อเสนอแนะเกี่ยวกับวิธีการจัดการกับเรื่องนี้?
(ฉันต้องดำเนินการมากกว่า 150 โฟลเดอร์ที่มีแต่ละไฟล์ระหว่าง 5 ถึง 20 ไฟล์ pdf ดังนั้นฉันควรหลีกเลี่ยงการเลิกและเริ่มต้นใหม่ด้วยตนเอง)