场景:
DeepL 的划词翻译要求:
问题:
虽然 DeepL app 本身自带 OCR 识别后进行翻译,但由于某些限制(无法消除换行,并自动整合为句子或段落),我希望使用 macOS 本身的 OCR 功能。
通过 Shortcuts 可轻松实现选定区域的文本识别,但是将识别结果输入到 DeepL 遇到了困难。
临时解决方案:
通过 UI Broswer 对 DeepL 的界面进行识别,再通过在 Shortcuts 中加入 AppleScript 对指定 UI 元素(需要翻译内容)进行 set variable 的操作。
附此 Shortcut: https://www.icloud.com/shortcuts/06c482f2a7194643b9c539cd77a1100b
由于 UI 随时可能会变,所以想基于文本最开始的场景描述的过程进行实现。
虽然按下快捷键的操作可以实现,但是有一个问题:如何模拟选择文本的动作?
回到这个实际用例中,我通过 OCR 识别了文本(可以在 shortcuts 中将其设定为一个值 或者 可以将其同步至剪贴板)之后,如何对此部分文本进行选择?
换句话说,我想将目前捷径中的 AppleScript 内容改为 [模拟文本选择] - tell application "System Events" to key code {8, 8} using command down
我不想打开一个文档,然后把剪贴板内容粘贴进去,然后在模拟光标移动到最前 - 选择内容并将光标移动到最后。
不知道我描述清楚没有= =
1
aec4d 2022-12-11 21:12:50 +08:00
操作 deepl 选择编辑 --> 粘贴 就成
#!/usr/bin/osascript on run translate do shell script "open -a DeepL" delay 0.2 tell application "System Events" to tell process "DeepL" tell menu bar item "编辑" of menu bar 1 click menu item "粘贴" of menu 1 end tell end tell end run |