能否通过Apple osascript控制Preview缩放图片及查看应用可执行事件?
关于Preview脚本缩放与应用AppleScript支持事件的问题
一、实现Preview缩放按钮的等效操作是否可行?
完全可行,有两种可靠的实现方式:
1. 直接调用Preview的内置AppleScript命令
Preview原生支持缩放相关的AppleScript命令,无需模拟GUI点击,这是最推荐的方式,代码示例如下:
放大文档(等效点击+按钮):
tell application "Preview" activate zoom in front window end tell
缩小文档(等效点击-按钮):
tell application "Preview" activate zoom out front window end tell
你也可以直接控制文档的缩放比例,比如将当前文档放大10%:
tell application "Preview" set currentZoom to zoom of front document set zoom of front document to currentZoom + 10 end tell
2. GUI脚本模拟点击(备用方案)
如果内置命令无法满足需求,还可以通过System Events模拟点击按钮的操作,但这种方式依赖界面布局,可能随系统更新失效:
tell application "System Events" tell process "Preview" click button "+" of window 1 end tell end tell
(注:实际界面元素的路径可能需要根据系统版本调整,可借助Script Editor的“UI元素检查器”定位按钮)
二、如何查看应用支持的AppleScript可调用事件?
要找出osascript -e 'tell application "App" to x'中所有有效的x值,有两种常用方法:
1. 通过Script Editor查看应用脚本字典
这是最直观全面的方式:
- 打开「Script Editor」应用(位于
/Applications/Utilities/) - 点击菜单栏「文件」→「打开字典」
- 在弹出的窗口中选择目标应用,即可查看该应用所有支持的命令、类、属性和事件,所有字典里列出的命令都可以作为
x的值使用。
2. 命令行方式快速查询
可以用osascript直接获取应用的命令列表,示例命令:
osascript -e 'tell application "Preview" to get every command'
不过这种方式输出的信息比较简略,更推荐用脚本字典查看完整细节。
内容的提问来源于stack exchange,提问作者Michael Campbell
相关产品推荐
相关产品推荐

