捷徑與 AppleScript

JPGBoost 可與 macOS 原生的自動化工具協同運作。捷徑與 Spotlight 中提供了原生動作,而 AppleScript 與 Automator 中則提供了 compress 指令。

Free 版已包含

此功能在 JPGBoost Free 和 Pro 中皆可使用。在 Free 中,每張處理的圖片都會計入每日上限:每天 50 張、每個檔案 5 MB。JPGBoost Pro 取消這兩項限制。

兩種自動化方式

JPGBoost 提供兩種 macOS 原生自動化介面。兩者都以獨立處理的方式運作:以檔案與設定作為輸入,以壓縮後的檔案作為輸出,且與應用程式視窗中目前開啟的清單無關。

  • 用於捷徑應用程式與 Spotlight 的 App Intents
  • 用於 osascript、指令碼編輯器與 Automator 的 AppleScript

應用程式無需保持開啟狀態

這是與本機 API監控資料夾之間的主要區別,後兩者都要求應用程式必須處於執行狀態。

無論是透過捷徑動作,還是透過 AppleScript 的 compress 指令,一旦收到要求,macOS 都會像對待任何其他支援指令碼的應用程式一樣,自動重新開啟 JPGBoost。即使您之前已明確關閉了該應用程式,也無需進行任何操作。

預期的效果

唯一可見的影響是應用程式尚未開啟時啟動所需的短暫延遲。處理完成後,應用程式會保持開啟狀態,macOS 不會自動將其關閉。

「壓縮圖片」動作

只要應用程式曾經開啟過一次,該動作就會自動出現在捷徑應用程式的 JPGBoost 分類中,無需進行任何設定。

  1. 開啟捷徑應用程式,建立一個捷徑。
  2. 新增一個能提供檔案的動作,例如選取檔案取得檔案夾內容
  3. 新增 JPGBoost 的壓縮圖片動作。
  4. 填寫您需要的參數。留空的參數可以透過匯出設定檔來補全。
  5. 如有需要,可在之後串接另一個動作:該動作會傳回壓縮後的檔案。
參數功能是否必填
Input Files需要壓縮的圖片
Output Format期望的輸出格式
Quality1 到 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 直接識別,無需開啟捷徑應用程式。

這種未經處理的呼叫只會傳遞所選的檔案,不提供任何其他參數,因此在完成以下設定之前,會因「缺少目標資料夾」而失敗。

要讓此次呼叫生效:

  1. 在 JPGBoost 中,開啟偏好設定 → 設定檔,將某個已設定目標資料夾的設定檔設為預設設定檔
  2. 在 Finder 中選取要壓縮的圖片。
  3. 按下 ⌘Space,然後輸入「壓縮圖片」

此時,JPGBoost 會根據預設設定檔自動補全缺少的參數,包括目標資料夾、格式與畫質

無需在捷徑應用程式中建構任何捷徑。

情況二:建構了捷徑

當需要用不同名稱提供多種行為時,這種方式很有用。例如,「壓縮到桌面」可以使用一個設定檔,而「壓縮到封存」使用另一個。情況一中的預設設定檔一次只能處理一種行為。

  1. 在 JPGBoost 中,開啟偏好設定 → 設定檔,建立一個帶有目標資料夾的設定檔,該資料夾透過應用程式的原生選擇器進行選擇。
  2. 在捷徑應用程式中,建立一個新的捷徑,並為它取一個清楚的名稱,例如「壓縮到桌面」。
  3. 在捷徑的 JPGBoost 動作中,只需填寫Export Profile為要使用的設定檔名稱。將Destination Folder留空:設定檔中設定的資料夾會自動套用。
  4. 此時,該捷徑會以您指定的名稱直接出現在 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

toformatquality 參數均為可選。profile 參數可以取代它們,或補全它們未涵蓋的部分,其作用方式與命令列中的 --profile 完全相同。

tell application "JPGBoost"
    compress {"/path/to/image.png"} profile "Web JPEG"
end tell

該指令會傳回一個 JSON 字串:每個檔案對應一個物件,包含 pathoriginalSizeBytescompressedSizeBytesratiodestinationerror 等欄位。其結構與 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 中逐個檔案標註