У меня есть прекрасная капля AppleScript, которая выполняет распознавание PDF-файла с помощью Adobe Acrobat.Я довольно хороший программист на Python, но на самом деле не понимаю AppleScript.У меня есть список всех PDF-файлов в моей системе, которые необходимо распознать.Было бы очень неприятно, когда нужно перетаскивать каждый элемент на одну вершину сценария.Я хотел бы иметь небольшую программу на Python, в которой каждый сценарий обрабатывает дроплет, или же я хотел бы изменить сценарий, чтобы он считывал текстовый файл и обходился без отбрасываемого содержимого.
Я пытался использовать osascript
чтобы открыть PDF-файлы с помощью одного теста:
tell application "OCRIt-Acrobat"
open alias "imac3:Users:vy32:FFJ.pdf"
end tell
И я получил эту прекрасную ошибку:
31:103: execution error: OCRIt-Acrobat got an error: alias "imac3:Users:vy32:FFJ.pdf" of «script» doesn’t understand the open message. (-1708)
Ну, это не слишком полезно.
Кто-нибудь знает, что мне делать?
Вот OCRIt-Acrobat во всей красе:
property mytitle : "ocrIt-Acrobat"
-- Modified from a script created by Macworld http://www.macworld.com/article/60229/2007/10/nov07geekfactor.html
-- I am called when the user open the script with a double click
on run
tell me
activate
display dialog "I am an AppleScript droplet." & return & return & "Please drop a bunch of PDF files onto my icon to batch OCR them." buttons {"OK"} default button 1 with title mytitle with icon note
end tell
end run
-- I am called when the user drops Finder items onto the script icon
-- Timeout of 36000 seconds to allow for OCRing really big documents
on open droppeditems
with timeout of 36000 seconds
try
repeat with droppeditem in droppeditems
set the item_info to info for droppeditem
tell application "Adobe Acrobat Pro"
activate
open droppeditem
end tell
tell application "System Events"
tell application process "Acrobat"
click the menu item "Recognize Text Using OCR..." of menu 1 of menu item "OCR Text Recognition" of the menu "Document" of menu bar 1
try
click radio button "All pages" of group 1 of group 2 of group 1 of window "Recognize Text"
end try
click button "OK" of window "Recognize Text"
end tell
end tell
tell application "Adobe Acrobat Pro"
save the front document with linearize
close the front document
end tell
end repeat
-- catching unexpected errors
on error errmsg number errnum
my dsperrmsg(errmsg, errnum)
end try
end timeout
end open
-- I am displaying error messages
on dsperrmsg(errmsg, errnum)
tell me
activate
display dialog "Sorry, an error occured:" & return & return & errmsg & " (" & errnum & ")" buttons {"Never mind"} default button 1 with icon stop with title mytitle
end tell
end dsperrmsg
Спасибо!