Shortcuts और AppleScript

JPGBoost macOS के नेटिव ऑटोमेशन टूल्स के साथ इंटीग्रेट होता है। Shortcuts और Spotlight में एक नेटिव एक्शन उपलब्ध है, साथ ही AppleScript और Automator को उपलब्ध एक compress कमांड भी।

Free में शामिल

यह सुविधा JPGBoost Free और Pro दोनों में उपलब्ध है। Free में, संसाधित की गई हर छवि दैनिक सीमा में गिनी जाती है: प्रतिदिन 50 छवियाँ और प्रति फ़ाइल 5 MB। JPGBoost Pro इन दोनों सीमाओं को हटा देता है।

ऑटोमेट करने के दो तरीक़े

JPGBoost दो नेटिव macOS ऑटोमेशन इंटरफ़ेस एक्सपोज़ करता है। दोनों स्वतंत्र प्रोसेसिंग के रूप में काम करते हैं: वे इनपुट के रूप में फ़ाइलें और सेटिंग्स लेते हैं, आउटपुट के रूप में कंप्रेस्ड फ़ाइलें देते हैं, और ऐप विंडो में उस समय खुली लिस्ट से स्वतंत्र होते हैं।

  • Shortcuts ऐप और Spotlight के लिए App Intents
  • osascript, Script Editor और Automator के लिए AppleScript

ऐप का खुला होना ज़रूरी नहीं

यह लोकल API और वॉच किए गए फ़ोल्डर से मुख्य फ़र्क़ है, जिन दोनों के लिए ज़रूरी है कि ऐप पहले से चल रहा हो।

चाहे Shortcuts एक्शन के ज़रिए हो या AppleScript कमांड compress के ज़रिए, macOS किसी रिक्वेस्ट के आते ही JPGBoost को ऑटोमैटिकली फिर से खोल देता है, ठीक वैसे ही जैसे किसी भी और स्क्रिप्ट-सपोर्टेड ऐप के साथ होता है। आपको कुछ करने की ज़रूरत नहीं, भले ही आपने पहले ऐप को साफ़ तौर पर बंद किया हो।

क्या उम्मीद करें

अगर ऐप पहले से खुला न हो, तो इसका इकलौता दिखने वाला असर एक हल्की सी देरी होती है, जो खुलने में लगने वाला समय है। प्रोसेसिंग पूरी होने के बाद, यह खुला रहता है: macOS इसे ऑटोमैटिकली बंद नहीं करता।

«Compress Images» एक्शन

ऐप एक बार खोले जाने के बाद, यह एक्शन Shortcuts ऐप में, JPGBoost कैटेगरी में ऑटोमैटिकली दिखाई देता है। किसी कॉन्फ़िगरेशन की ज़रूरत नहीं है।

  1. Shortcuts ऐप खोलें और एक शॉर्टकट बनाएँ।
  2. फ़ाइलें देने वाला एक एक्शन जोड़ें, जैसे Select Files या Get Folder Contents
  3. JPGBoost का Compress Images एक्शन जोड़ें।
  4. अपनी पसंद के पैरामीटर भरें। जो खाली छोड़े जाएँ उन्हें एक्सपोर्ट प्रोफ़ाइल से पूरा किया जा सकता है।
  5. ज़रूरत पड़ने पर बाद में एक और एक्शन जोड़ें: यह एक्शन कंप्रेस्ड फ़ाइलें रिटर्न करता है।
पैरामीटरफ़ंक्शनज़रूरी
Input Filesकंप्रेस की जाने वाली इमेजहाँ
Output Formatचाहा गया आउटपुट फ़ॉर्मेटनहीं
Quality1 से 100 तक क्वालिटीनहीं
Export Profileकिसी मौजूदा एक्सपोर्ट प्रोफ़ाइल का नामनहीं
Destination Folderआउटपुट फ़ोल्डर (नीचे दी गई चेतावनी देखें)नहीं

«Destination Folder» फ़ील्ड

Shortcuts ऐप की जानी-मानी सीमा

यही वह पॉइंट है जिससे सबसे ज़्यादा उलझन होती है। Destination Folder फ़ील्ड को Shortcuts एडिटर से सही तरीक़े से भरना मुश्किल है। भरोसेमंद तरीक़ा है एक एक्सपोर्ट प्रोफ़ाइल का इस्तेमाल करना।

यह फ़ील्ड एक वास्तविक फ़ोल्डर रेफ़रेंस URL फ़ॉर्मेट में चाहता है, यानी एक ऐसा पथ जो file:// से शुरू हो (जैसे file:///Users/me/Downloads/), न कि सामान्य टेक्स्ट। नीचे दिए गए तरीक़े Invalid URL एरर के साथ फ़ेल हो जाते हैं:

  • हाथ से पथ लिखना, जैसे /Users/me/Downloads;
  • Finder से फ़ील्ड में कोई फ़ोल्डर खींचकर छोड़ना, जो वहाँ सिर्फ़ सामान्य टेक्स्ट डालता है।

macOS का Shortcuts एडिटर भी «Choose a Folder» जैसा कोई नेटिव एक्शन ऑफ़र नहीं करता जो इसे किसी और तरीक़े से बनाने देता हो।

मामला 1: कोई शॉर्टकट बनाने की ज़रूरत नहीं

एक बार जब JPGBoost कम से कम एक बार लॉन्च हो चुकी हो, तो वह सामान्य वाक्य जो ऐप खुद घोषित करता है («Compress Images with JPGBoost», «Compress with JPGBoost»), उसे Spotlight सीधे पहचान लेता है, बिना कभी Shortcuts ऐप खोले।

यह सीधा आह्वान सिर्फ़ चुनी गई फ़ाइलें भेजता है। कोई और पैरामीटर नहीं दिया जाता, इसलिए तब तक «Missing destination folder» एरर आता है जब तक नीचे दी गई सेटअप प्रक्रिया पूरी नहीं कर ली जाती।

इस आह्वान के काम करने के लिए:

  1. JPGBoost में, Settings → Profiles खोलें और किसी प्रोफ़ाइल को डिफ़ॉल्ट प्रोफ़ाइल के रूप में सेट करें, जिसमें एक गंतव्य फ़ोल्डर कॉन्फ़िगर हो।
  2. Finder में, कंप्रेस करने के लिए इमेज चुनें।
  3. ⌘Space दबाएँ, फिर «Compress Images» टाइप करें।

JPGBoost फिर डिफ़ॉल्ट प्रोफ़ाइल से बचे हुए पैरामीटर अपने आप भर देता है, जिनमें गंतव्य फ़ोल्डर, फ़ॉर्मेट और क्वालिटी शामिल हैं।

Shortcuts ऐप में किसी शॉर्टकट की ज़रूरत नहीं है।

मामला 2: बनाए गए शॉर्टकट के साथ

यह मामला तब उपयोगी होता है जब अलग अलग नामों के तहत कई व्यवहार उपलब्ध होने चाहिए। उदाहरण के लिए, «Compress to Desktop» एक प्रोफ़ाइल का इस्तेमाल कर सकता है, जबकि «Compress to Archive» दूसरी प्रोफ़ाइल का इस्तेमाल करता है। मामला 1 की डिफ़ॉल्ट प्रोफ़ाइल एक बार में सिर्फ़ एक ही व्यवहार संभाल सकती है।

  1. JPGBoost में, Settings → Profiles खोलें और ऐप के नेटिव सेलेक्टर से चुनी गई गंतव्य फ़ोल्डर वाली एक प्रोफ़ाइल बनाएँ।
  2. Shortcuts ऐप में, एक नया शॉर्टकट बनाएँ और उसे एक साफ़ नाम दें, उदाहरण के लिए «Compress to Desktop»।
  3. शॉर्टकट के JPGBoost एक्शन में, सिर्फ़ Export Profile को इस्तेमाल की जाने वाली प्रोफ़ाइल के नाम से भरें। Destination Folder को खाली छोड़ दें: प्रोफ़ाइल में सेट फ़ोल्डर अपने आप इस्तेमाल हो जाएगा।
  4. यह शॉर्टकट फिर आपके दिए नाम से सीधे Spotlight में उपलब्ध हो जाता है, न कि JPGBoost द्वारा घोषित सामान्य वाक्य के ज़रिए।

Spotlight

यह एक्शन Spotlight से भी एक्सेस किया जा सकता है। «Compress images with JPGBoost» जैसे एक्टिवेशन वाक्य, सपोर्टेड पंद्रह भाषाओं में अनुवादित हैं।

दिखाने की भाषा

एक्शन का नाम, उसका विवरण, उसके पैरामीटर और उसके एरर मैसेज, उसे दिखाने वाले टूल (Shortcuts या 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 के रिस्पॉन्स जैसा ही रूप है।

Terminal से

osascript -e 'tell application "JPGBoost" to compress {"/path/image.png"} profile "Web JPEG"'

Automator से

Run AppleScript एक्शन इस्तेमाल करें और वहाँ वही tell ब्लॉक पेस्ट करें। इस तरह आप Finder के कॉन्टेक्स्ट मेनू से एक्सेस किया जा सकने वाला एक सर्विस बना सकते हैं।

«Automation» की परमिशन

देने के लिए सिर्फ़ एक परमिशन

पहली बार, macOS अपना सामान्य «Automation» परमिशन अलर्ट दिखाता है: कमांड भेजने वाला ऐप (Script Editor, Automator या Shortcuts) JPGBoost को कंट्रोल करना चाहता है। Allow पर क्लिक करें। यह परमिशन सिर्फ़ एक बार माँगी जाती है।

समस्या निवारण

लक्षणकारणसमाधान
गंतव्य फ़ोल्डर में Invalid URLफ़ील्ड में फ़ोल्डर रेफ़रेंस की जगह टेक्स्ट मिलागंतव्य फ़ोल्डर वाली एक्सपोर्ट प्रोफ़ाइल इस्तेमाल करें और फ़ील्ड खाली छोड़ दें
एक्शन Shortcuts ऐप में नहीं दिखताऐप कभी नहीं खोला गयाJPGBoost को एक बार खोलें और Shortcuts को फिर से खोलें
ऐक्शन कोटा मैसेज के साथ फ़ेल होता हैJPGBoost Free की दैनिक सीमा पूरी हो गई (50 इमेज), या कोई फ़ाइल 5 MB से बड़ी हैआधी रात को रीसेट का इंतज़ार करें, या दोनों सीमाएँ हटाने के लिए JPGBoost Pro लें
AppleScript कमांड एरर रिटर्न करता हैAutomation परमिशन नकार दी गईSystem Settings → Privacy & Security → Automation जाँचें। Free कोटा वाला इनकार पूरे बैच को नहीं रोकता: वह लौटाए गए JSON में फ़ाइल-दर-फ़ाइल बताया जाता है।