捷徑與 AppleScript
JPGBoost 可與 macOS 原生的自動化工具協同運作。捷徑與 Spotlight 中提供了原生動作,而 AppleScript 與 Automator 中則提供了 compress 指令。
此功能在 JPGBoost Free 和 Pro 中皆可使用。在 Free 中,每張處理的圖片都會計入每日上限:每天 50 張、每個檔案 5 MB。JPGBoost Pro 取消這兩項限制。
兩種自動化方式
JPGBoost 提供兩種 macOS 原生自動化介面。兩者都以獨立處理的方式運作:以檔案與設定作為輸入,以壓縮後的檔案作為輸出,且與應用程式視窗中目前開啟的清單無關。
- 用於捷徑應用程式與 Spotlight 的 App Intents。
- 用於
osascript、指令碼編輯器與 Automator 的 AppleScript。
應用程式無需保持開啟狀態
這是與本機 API和監控資料夾之間的主要區別,後兩者都要求應用程式必須處於執行狀態。
無論是透過捷徑動作,還是透過 AppleScript 的 compress 指令,一旦收到要求,macOS 都會像對待任何其他支援指令碼的應用程式一樣,自動重新開啟 JPGBoost。即使您之前已明確關閉了該應用程式,也無需進行任何操作。
唯一可見的影響是應用程式尚未開啟時啟動所需的短暫延遲。處理完成後,應用程式會保持開啟狀態,macOS 不會自動將其關閉。
「壓縮圖片」動作
只要應用程式曾經開啟過一次,該動作就會自動出現在捷徑應用程式的 JPGBoost 分類中,無需進行任何設定。
- 開啟捷徑應用程式,建立一個捷徑。
- 新增一個能提供檔案的動作,例如選取檔案或取得檔案夾內容。
- 新增 JPGBoost 的壓縮圖片動作。
- 填寫您需要的參數。留空的參數可以透過匯出設定檔來補全。
- 如有需要,可在之後串接另一個動作:該動作會傳回壓縮後的檔案。
| 參數 | 功能 | 是否必填 |
|---|---|---|
| Input Files | 需要壓縮的圖片 | 是 |
| Output Format | 期望的輸出格式 | 否 |
| Quality | 1 到 100 之間的畫質 | 否 |
| Export Profile | 某個現有匯出設定檔的名稱 | 否 |
| Destination Folder | 輸出資料夾(請參閱下方注意事項) | 否 |
「Destination Folder」欄位
這是最容易引起混淆的部分。Destination Folder 欄位很難透過捷徑編輯器正確填寫。可靠的解決方案是使用匯出設定檔。
該欄位所需要的是 URL 格式的真實資料夾參照,也就是以 file:// 開頭的路徑(例如 file:///Users/me/Downloads/),而非普通文字。以下方式都會因 Invalid URL 錯誤而失敗:
- 手動輸入路徑,例如
/Users/me/Downloads; - 從 Finder 中將資料夾拖曳至該欄位——這只會寫入普通文字。
macOS 的捷徑編輯器也沒有提供類似「選擇檔案夾」這樣的原生動作,可以用其他方式建構此欄位。
情況一:無需建構捷徑
JPGBoost 只要曾經啟動過一次,它自行宣告的通用語句(「用 JPGBoost 壓縮圖片」「用 JPGBoost 壓縮」)便會被 Spotlight 直接識別,無需開啟捷徑應用程式。
這種未經處理的呼叫只會傳遞所選的檔案,不提供任何其他參數,因此在完成以下設定之前,會因「缺少目標資料夾」而失敗。
要讓此次呼叫生效:
- 在 JPGBoost 中,開啟偏好設定 → 設定檔,將某個已設定目標資料夾的設定檔設為預設設定檔。
- 在 Finder 中選取要壓縮的圖片。
- 按下
⌘Space,然後輸入「壓縮圖片」。
此時,JPGBoost 會根據預設設定檔自動補全缺少的參數,包括目標資料夾、格式與畫質。
無需在捷徑應用程式中建構任何捷徑。
情況二:建構了捷徑
當需要用不同名稱提供多種行為時,這種方式很有用。例如,「壓縮到桌面」可以使用一個設定檔,而「壓縮到封存」使用另一個。情況一中的預設設定檔一次只能處理一種行為。
- 在 JPGBoost 中,開啟偏好設定 → 設定檔,建立一個帶有目標資料夾的設定檔,該資料夾透過應用程式的原生選擇器進行選擇。
- 在捷徑應用程式中,建立一個新的捷徑,並為它取一個清楚的名稱,例如「壓縮到桌面」。
- 在捷徑的 JPGBoost 動作中,只需填寫Export Profile為要使用的設定檔名稱。將Destination Folder留空:設定檔中設定的資料夾會自動套用。
- 此時,該捷徑會以您指定的名稱直接出現在 Spotlight 中,而不是 JPGBoost 宣告的通用語句。
Spotlight
該動作同樣可以透過 Spotlight 存取。諸如「用 JPGBoost 壓縮圖片」這樣的喚醒語句,已被翻譯為所有支援的 15 種語言。
該動作的標題、說明、參數與錯誤訊息,均取決於呈現它們的工具(捷徑或 Spotlight)所使用的語言,而與 JPGBoost 視窗本身所選的語言無關。
AppleScript
compress 指令的使用方式與其他任何支援指令碼的應用程式相同。
tell application "JPGBoost"
compress {"/path/to/image1.png", "/path/to/image2.jpg"} ¬
to "/path/to/output" format "webp" quality 80
end tell
to、format 與 quality 參數均為可選。profile 參數可以取代它們,或補全它們未涵蓋的部分,其作用方式與命令列中的 --profile 完全相同。
tell application "JPGBoost"
compress {"/path/to/image.png"} profile "Web JPEG"
end tell
該指令會傳回一個 JSON 字串:每個檔案對應一個物件,包含 path、originalSizeBytes、compressedSizeBytes、ratio、destination 與 error 等欄位。其結構與 CLI 的 --json 輸出以及本機 API 的回應完全一致。
從終端機執行
osascript -e 'tell application "JPGBoost" to compress {"/path/image.png"} profile "Web JPEG"'
從 Automator 中使用
使用執行 AppleScript動作,將相同的 tell 程式碼區塊貼上其中。這樣即可建立一個可從 Finder 右鍵選單存取的服務。
「自動化」權限
第一次執行時,macOS 會顯示常見的「自動化」權限提示:傳送指令的應用程式(指令碼編輯器、Automator 或捷徑)希望控制 JPGBoost。請點選允許。此權限僅會請求一次。
疑難排解
| 症狀 | 原因 | 解決方法 |
|---|---|---|
| 目標資料夾處出現 Invalid URL | 該欄位收到的是文字,而非資料夾參照 | 使用帶有目標資料夾的匯出設定檔,並將該欄位留空 |
| 該動作未出現在捷徑應用程式中 | 應用程式從未被開啟過 | 先開啟一次 JPGBoost,然後重新開啟捷徑 |
| 動作因配額提示而失敗 | 已達到 JPGBoost Free 的每日上限(50 張),或某個檔案超過 5 MB | 等待午夜重設,或升級至 JPGBoost Pro 以取消這兩項限制 |
| AppleScript 指令傳回錯誤 | 自動化權限被拒絕 | 請檢查「系統設定 → 隱私權與安全性 → 自動化」。而 Free 配額導致的拒絕不會中斷整批處理:它會在傳回的 JSON 中逐個檔案標註 |