手軽にOCRできるよう、スクリーンショットからテキスト化してみました。
APIへの実行コードはGoogle Cloud Vision APIのOCR(画像認識)を検証するを利用させていただきました。ありがとうございます。
準備
サンプルファイルにAPIキーを設定後、下記コードの実行ファイル・保存フォルダのパスをご自身の環境にあわせて書き換えてください。
実行するとキャプチャするアイコンになりますので(shift+command+4と同じ)、テキスト化したいエリアを選択してください。
保存フォルダにキャプチャしたpng画像とテキストファイルが保存されていると思います。
さて、このままスクリプトエディタで実行していては使い勝手がよくないですよね。
AutomatorにはAppleScriptを実行というコマンドが用意されていますのでこれでサービスつくりショートカットを割り当てましょう!
コード
on run
my main()
end run
on main()
--実行ファイル
set OCR to quoted form of "/Users/9999/Desktop/GOCR/OCR.php"
--保存フォルダ
set saveFolder to "/Users/9999/Desktop/GOCR/"
--pngファイル生成
set {pngName, pngFile} to my capture(saveFolder)
try
(pngFile as POSIX file) as alias
on error
error number -128
end try
--テキストパス生成
set ocrPath to my ocrTxtPath(saveFolder)
--shellコマンド
set cmd to "php " & OCR & space & quoted form of pngFile & " > " & quoted form of ocrPath
--OCR実行
set res to do shell script cmd
end main
on capture(saveFolder)
set ssName to "ss_" & (do shell script "date +%Y%m%d_%H%M%S") & ".png"
set savePath to saveFolder & ssName
set cmd to "screencapture -r -x -t png -s -o " & quoted form of savePath
do shell script cmd
return {ssName, savePath}
end capture
on ocrTxtPath(saveFolder)
tell application "Finder"
set DateTime to do shell script "date +%Y%m%d_%H%M%S"
set ocrPath to saveFolder & "OCR_" & DateTime & ".txt"
end tell
return ocrPath
end ocrTxtPath
on Delimiters(theText, serchStr, replaceStr)
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to serchStr
set theText to text items of theText
set AppleScript's text item delimiters to replaceStr
set theText to theText as string
set AppleScript's text item delimiters to OriginalDelimiters
return theText
end Delimiters