इलस्ट्रेटर स्क्रिप्ट: रूटीन के साथ डाउन।

किसी भी रचनात्मक विचारों के कार्यान्वयन से जुड़े एक डिजाइनर का काम कई नियमित प्रक्रियाओं के बिना अकल्पनीय है, जब आपको उसी ऑपरेशन को दोहराने के लिए बहुत समय और प्रयास करना पड़ता है। इसके लिए कई कारण हैं। सबसे पहले, एक ही शैली में बहुत सारे ग्राफिक तत्वों को डिजाइन करने की आवश्यकता होती है, जो स्वचालित रूप से एक ही प्रकार के संचालन के कई दोहराव को दर्शाता है। दूसरे, डिजाइन के विशिष्ट क्षेत्रों में कई मानक संचालन होते हैं जिन्हें दिन-प्रतिदिन दोहराना पड़ता है (इस अर्थ में एक उत्कृष्ट उदाहरण दर्जनों और यहां तक ​​​​कि सैकड़ों छवि फ़ाइलों को एक निश्चित मानक रूप में परिवर्तित करना है)। एक अलग मुद्दा फाइलों का बैच प्रोसेसिंग है, जब छवियों के एक बड़े समूह पर एक ही परिवर्तन को एक ही बार में लागू करना आवश्यक होता है।

दोहराए जाने वाली प्रक्रियाओं को स्वचालित करने के तरीकों में से एक स्क्रिप्ट का उपयोग करना है, जो आदेशों के अनुक्रम हैं जिन्हें कई बार दोहराया जा सकता है और सबसे शक्तिशाली और साथ ही एडोब इलस्ट्रेटर में काम को स्वचालित करने के लिए सबसे जटिल उपकरण हैं। स्क्रिप्टिंग विभिन्न स्थितियों में प्रभावी होती है जब बड़ी संख्या में समान क्रियाओं की बात आती है, और स्क्रिप्ट को अलग-अलग छवियों और छवियों के समूहों दोनों पर लागू किया जा सकता है, प्रभावी रूप से उन्हें मैक्रोज़ के साथ जोड़कर, जो तैयारी की प्रक्रिया को और सरल और गति देता है छवियों और बहुत समय बचाता है ...

उसी समय, व्यवहार में, डिजाइनरों द्वारा स्क्रिप्ट का व्यापक रूप से उपयोग नहीं किया जाता है। जाहिर है, इस तथ्य के कारण कि उन्हें लिखने के लिए आपको ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं में से एक को जानना होगा: जावास्क्रिप्ट, विजुअल बेसिक (विंडोज) या ऐप्पलस्क्रिप्ट (मैक ओएस)। हालाँकि, यह इतना मुश्किल नहीं है, क्योंकि कई डिज़ाइनर जावास्क्रिप्ट का उपयोग करके वेब पेज बनाने में शामिल हैं और इसलिए उन्हें ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की समझ है, और यह ज्ञान स्क्रिप्ट लिखने के लिए काफी है। जावास्क्रिप्ट के पक्ष में एक और तर्क है - यह भाषा प्लेटफॉर्म स्वतंत्र है, और इसलिए इसमें लिखी गई स्क्रिप्ट विंडोज और मैक ओएस दोनों पर काम करेगी। इस पाठ में, हम Adobe Illustrator CS2 वातावरण में जावास्क्रिप्ट-आधारित स्क्रिप्टिंग तकनीक पर ध्यान केंद्रित करेंगे, और सामग्री की पहुंच के स्तर को बढ़ाने के लिए, हम जटिल फॉर्मूलेशन के बिना और बड़ी संख्या में अवधारणाओं का उपयोग किए बिना करने का प्रयास करेंगे - नए के लिए सामान्य उपयोगकर्ता, लेकिन प्रोग्रामिंग में स्वीकार किए जाते हैं, क्योंकि उनमें से कई मानक डिजाइन समस्याओं को हल कर रहे हैं, वैकल्पिक है। जो लोग उच्च स्तर पर जावास्क्रिप्ट स्क्रिप्टिंग के साथ खुद को परिचित करना चाहते हैं और विजुअल बेसिक और ऐप्पलस्क्रिप्ट में स्क्रिप्टिंग की मूल बातें एडोब से विस्तृत ट्यूटोरियल का उल्लेख कर सकते हैं (नमूना स्क्रिप्ट के साथ दस्तावेज़ीकरण फाइलें डिलीवरी में शामिल हैं, और उन्हें इसमें पाया जा सकता है स्क्रिप्टिंग फ़ोल्डर)।

लिपियों के साथ काम करने के सैद्धांतिक पहलू

एडोब इलस्ट्रेटर की डिलीवरी में कई तैयार स्क्रिप्ट शामिल हैं जिनका उद्देश्य सबसे अधिक बार-बार दोहराए जाने वाले कार्यों को हल करना है, जिसमें एसवीजी, पीडीएफ और फ्लैश प्रारूपों में छवियों को निर्यात करने के लिए स्क्रिप्ट शामिल हैं। डिलीवरी में शामिल स्क्रिप्ट कमांड द्वारा चलाई जाती हैं फ़ाइल => लिपियों(फ़ाइल => स्क्रिप्ट) (चित्र 1), और फ़ोल्डर में संग्रहीत हैं प्रीसेट \ स्क्रिप्ट... इसके अलावा, प्रलेखन से जुड़ी डेमो स्क्रिप्ट का भी काम में उपयोग किया जा सकता है - उन्हें फ़ोल्डर से चुना जा सकता है स्क्रिप्टिंग \ नमूनाकमांड का उपयोग कर स्क्रिप्ट फ़ाइल => लिपियों => अन्य स्क्रिप्ट(फ़ाइल => लिपियों => अन्य स्क्रिप्ट)।

अंतर्निर्मित लिपियों के पुस्तकालय को इंटरनेट से डाउनलोड करके या स्वयं बनाकर नई लिपियों के साथ असीमित रूप से फिर से भरा जा सकता है। दोनों ही मामलों में, अतिरिक्त स्क्रिप्ट को बस उसी फ़ोल्डर में कॉपी किया जाता है - प्रोग्राम को पुनरारंभ करने के बाद, वे मेनू से उपलब्ध हो जाते हैं फ़ाइल => लिपियोंइनलाइन स्क्रिप्ट के साथ। बड़ी संख्या में लिपियों के मामले में, उन्हें अप्रत्यक्ष रूप से फ़ोल्डर में सहेजना समझदारी है प्रीसेट \ स्क्रिप्ट, और अलग-अलग सबफ़ोल्डर में, जिनकी संख्या सीमित नहीं है, और उन सभी को कमांड के अलग सबमेनू के रूप में प्रस्तुत किया जाएगा फ़ाइल => लिपियों(रेखा चित्र नम्बर 2)।

आवश्यक क्रियाओं और परिवर्तनों के लगभग सभी क्रम लिपियों में सहेजे जाते हैं, जिन्हें बाद में अन्य छवियों के साथ काम करते समय उपयोग किया जा सकता है। हालांकि, अपवाद हैं: उदाहरण के लिए, स्क्रिप्ट में स्टाइल, ब्रश, ग्राफिक्स, मेष ऑब्जेक्ट और स्पाइरल जैसी वस्तुएं नहीं बनाई जा सकती हैं, और इसके अलावा, स्क्रिप्ट से प्लगइन्स लॉन्च नहीं किए जा सकते हैं।

जावास्क्रिप्ट प्रोग्रामिंग भाषा में स्क्रिप्ट जेएस एक्सटेंशन के साथ सादा पाठ फ़ाइलें हैं और इसलिए नोटपैड सहित किसी भी टेक्स्ट एडिटर में बनाई जा सकती हैं।

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कॉन्सेप्ट

इलस्ट्रेटर में बनाया गया एक दस्तावेज़ वस्तुओं का एक सेट है, जिनमें से प्रत्येक एक प्रकार या किसी अन्य (उदाहरण के लिए, वेक्टर, रेखापुंज, प्रतीकात्मक, आदि) का होता है और इसमें कुछ गुण होते हैं (सीमा की चौड़ाई, रंग भरें, आदि)। )। इसके अलावा, प्रत्येक वस्तु एक निश्चित दस्तावेज़ से संबंधित होती है, और इसकी विशिष्ट परत पर स्थित होती है और इसे कुछ क्रियाओं (चाल, प्रतिलिपि, डुप्लिकेट, आदि) के अधीन किया जा सकता है।

सामान्य तौर पर, ये सभी सिद्धांत वस्तु-उन्मुख प्रोग्रामिंग के संबंध में भी मान्य हैं, केवल इस अंतर के साथ कि वस्तुओं के प्रकारों को आमतौर पर कक्षाएं कहा जाता है, और वस्तुओं के संबंध में अनुमत क्रियाओं को विधियाँ कहा जाता है, हालाँकि, गुणों को यहाँ गुण भी कहा जाता है। . कक्षाओं और वस्तुओं के बीच संबंधों को बेहतर ढंग से समझने के लिए, आप वस्तुओं को बनाने के लिए एक प्रकार के ब्लूप्रिंट के रूप में एक वर्ग के बारे में सोच सकते हैं। इस चित्र के अनुसार, अलग-अलग वस्तुएं बनाई जाती हैं, जैसे वे समान मूल विशेषताओं के साथ होती हैं, लेकिन प्रत्येक वस्तु दूसरों से स्वतंत्र रूप से मौजूद होती है, अर्थात, इसकी विशेषताओं में परिवर्तन किसी भी तरह से अन्य वस्तुओं की विशेषताओं को प्रभावित नहीं करता है। उदाहरण के लिए, सभी प्रतीकात्मक वस्तुओं की प्रकृति समान होती है, लेकिन उनमें से प्रत्येक का अपना आकार, रंग सेटिंग आदि होगा।

जावास्क्रिप्ट में प्रत्येक प्रकार की वस्तु, विधि और संपत्ति के लिए नाम (या ऑपरेंड) आरक्षित हैं, उदाहरण के लिए पथ आइटमएक वेक्टर वस्तु का अर्थ है, प्रतीक आइटम- प्रतीकात्मक वस्तु, रेखापुंज आइटम- रेखापुंज वस्तु, समूह आइटम- समूह तत्व, चयन- चयनित आइटम, आदि। (आरक्षित नामों के पूरे सेट के लिए स्क्रिप्टिंग गाइड देखें)।

किसी विशेष दस्तावेज़ की प्रत्येक परत पर कई वस्तुएँ हो सकती हैं, इसलिए किसी भी परत पर पड़ी सभी वस्तुओं को उन सरणियों में संयोजित किया जाता है जिनमें वस्तुएँ संख्याओं में भिन्न होती हैं (संख्या शून्य से शुरू होती है)। नतीजतन, किसी विशिष्ट वस्तु का जिक्र करने से शब्द ऐप के पदनाम का अनुक्रमिक संकेत मिलता है (एप्लिकेशन से संक्षिप्त, जिसका अर्थ है कि ऑब्जेक्ट लोड किए गए एप्लिकेशन से संबंधित है), दस्तावेज़ का नाम, परत संख्या, वर्ग का नाम और तत्व संख्या संबंधित में सरणी। उदाहरण के लिए, निर्माण app.activeDocument.layers.pathItems- यह सबसे ऊपरी परत पर सक्रिय दस्तावेज़ में पड़ी सबसे पहले गहराई वाले वेक्टर ऑब्जेक्ट के लिए एक कॉल है (ध्यान दें कि परतों की संख्या भी शून्य से शुरू होती है)।

परिणामी बल्कि लंबे निर्माणों को आसानी से छोटा किया जा सकता है। यहां नाम के उन घटकों को इंगित करना संभव नहीं है जो इस विशेष मामले में अनावश्यक हैं (विशेष रूप से, यदि दस्तावेज़ में केवल एक परत है, तो इसे इंगित करना वैकल्पिक है)। नाम संरचना के उस हिस्से को इंगित करने के लिए जिसे कई बार दोहराना होगा, आप संक्षिप्त नाम दर्ज करके नाम संदर्भों का उपयोग कर सकते हैं (ऐसे नामों को प्रोग्रामिंग भाषा में चर कहा जाता है)। कोड के मुख्य भाग में अभिविन्यास को सरल बनाने के लिए नामों को अर्थपूर्ण ढंग से निर्दिष्ट करना बेहतर है। उदाहरण के लिए, यदि आप पहले निर्माण में प्रवेश करते हैं mypathItems = app.activeDocument.layers.pathItems, तो विचाराधीन कोड अनुभाग में फॉर्म होगा mypathआइटम.

कक्षाओं, गुणों और विधियों को दर्शाने के लिए जावास्क्रिप्ट में प्रयुक्त शब्दों को नामों के रूप में उपयोग न करें, क्योंकि इससे अप्रत्याशित परिणाम हो सकते हैं। गलत परिभाषित चर का एक उदाहरण है - स्ट्रोकविड्थ = ऐप.एक्टिव डॉक्यूमेंट.लेयर्स.पाथआइटम्स, शब्द रेखा की चौड़ाईसीमा चौड़ाई संपत्ति को दर्शाने के लिए प्रयोग किया जाता है)।

स्क्रिप्ट के साथ प्रयोग शुरू करने से पहले, आपको कुछ नियमों को याद रखना होगा:

  • परिवर्तनीय नाम केस-संवेदी होते हैं (अर्थात। mypathआइटमतथा MyPathItemsपूरी तरह से अलग चर बन जाएंगे);
  • सरणी तत्व संख्या हमेशा वर्ग कोष्ठक के अंदर इंगित की जाती है;
  • कोई भी स्क्रिप्ट निर्माण (ऐसे निर्माणों को ऑपरेटर कहा जाता है) या तो ";" या एक क्लोजिंग कर्ली ब्रेस ")" के साथ समाप्त होता है। दूसरा विकल्प केवल उन्हीं मामलों में होता है; जब इस निर्माण में पहले से ही एक ओपनिंग कर्ली ब्रेस "(";
  • घुंघराले ब्रेसिज़ को बंद करने की संख्या बिल्कुल वही है जो घुंघराले ब्रेसिज़ खोलने की संख्या के समान है;
  • प्रत्येक नए निर्माण को एक नई लाइन पर रखना बेहतर है, और घुंघराले ब्रेसिज़ के अंदर रखे गए निर्माण एक लाइन शिफ्ट के साथ प्रिंट करने के लिए बेहतर हैं (चित्र 3)। हालांकि ये तकनीक वैकल्पिक हैं, वे जेनरेट की गई स्क्रिप्ट में ओरिएंटेशन को बहुत सरल करते हैं और आपको घुंघराले ब्रेसिज़ को खोलने और बंद करने की संख्या को नियंत्रित करने की अनुमति देते हैं।

स्क्रिप्ट लिखने और डीबग करने का सिद्धांत

हालाँकि जावास्क्रिप्ट सीखना बहुत आसान है, फिर भी यह एक प्रोग्रामिंग भाषा है। व्यवहार में, इसका मतलब है कि अक्सर स्क्रिप्ट डिबगिंग के बाद ही सही ढंग से काम करना शुरू कर देती हैं, जिसमें स्पष्ट और छिपी हुई दोनों त्रुटियों को ठीक करना शामिल है। स्पष्ट त्रुटियों को गलत भाषा निर्माण, गलत वाक्य रचना, गैर-मौजूद चरों तक पहुंचने का प्रयास आदि के रूप में समझा जाता है। (स्क्रिप्ट को चलाने का प्रयास करते समय इलस्ट्रेटर द्वारा इनकी सूचना दी जाती है)। छिपी हुई त्रुटियों के प्रकट होने का कारण एक गलत एल्गोरिथम है, और ऐसी त्रुटियों का अनुमान केवल सभी स्क्रिप्ट संचालन के सावधानीपूर्वक विश्लेषण से लगाया जा सकता है।

स्क्रिप्ट के काम करने से पहले, इसे एक से अधिक बार संपादित और पुन: लॉन्च करना होगा, इसलिए बेहतर है कि स्क्रिप्ट को तुरंत मेनू में रखा जाए फ़ाइल => लिपियों(फ़ाइल => स्क्रिप्ट) कमांड का उपयोग करके हर बार इसे मैन्युअल रूप से चुनने के बजाय फ़ाइल => लिपियों => अन्य स्क्रिप्ट(फ़ाइल => लिपियों => अन्य स्क्रिप्ट)। ऐसा करने के लिए, नोटपैड खोलें, प्रीसेट \ स्क्रिप्ट फ़ोल्डर में जेएस एक्सटेंशन के साथ अभी भी खाली फ़ाइल को सहेजें और प्रोग्राम को पुनरारंभ करें। डिबगिंग स्क्रिप्ट के लिए मेनू में एक आइटम को विशेष रूप से अलग रखने की सलाह दी जाती है फ़ाइल => लिपियों, उदाहरण के लिए नाम के साथ डिबगिंग, - इस मामले में, अगली स्क्रिप्ट बनाते हुए, आप इसे पहले डिबगिंग.जेएस फ़ाइल में फ़ोल्डर में रख सकते हैं प्रीसेट \ स्क्रिप्ट, फिर इसे "दिमाग में" लाएं (सुविधा यह है कि यह स्क्रिप्ट इलस्ट्रेटर प्रोग्राम मेनू में तुरंत दिखाई देगी), और डिबगिंग के बाद, इसे उसी फ़ोल्डर में सहेजें, लेकिन एक व्यक्तिगत नाम के तहत।

सबसे सरल जावास्क्रिप्ट भाषा निर्माण में महारत हासिल करना

स्क्रिप्ट बनाने के उदाहरणों पर आगे बढ़ने से पहले, जो कुछ डिज़ाइन समस्याओं को हल करने की प्रक्रिया को स्वचालित कर सकते हैं, हम कुछ सरल प्रशिक्षण उदाहरणों पर विचार करेंगे, हालांकि विशेष व्यावहारिक मूल्य के नहीं, हमें सबसे सामान्य भाषा निर्माणों का उपयोग करने के सिद्धांतों को समझने में मदद करेंगे। ऐसा करने के लिए, नोटपैड में एक खाली डिबगिंग.जेएस फ़ाइल बनाएं और इसे प्रीसेट \ स्क्रिप्ट फ़ोल्डर में सहेजें। अगला, इलस्ट्रेटर लोड करें और इसमें तीन वेक्टर पथ रखकर एक नया दस्तावेज़ बनाएं, उदाहरण के लिए, एक विस्तृत सीमा के साथ तीन आयत (चित्र 4)। परत पैलेट में वस्तुओं के स्थान पर ध्यान दें: परत के बहुत नीचे की वस्तु को सबसे पहले बनाया गया था, और इसलिए विभिन्न सरणियों में यह 0 वें नंबर के नीचे दिखाई देगा; जैसे-जैसे आप लेयर्स पैलेट को ऊपर ले जाते हैं, ऑब्जेक्ट की संख्या बढ़ती जाएगी।

अपनी डीबगिंग.जेएस फ़ाइल में निम्न पंक्तियाँ दर्ज करें

mypathItems = app.activeDocument.layers.pathItems;

mypathItems.strokeWidth = 2.5;

mypathItems.strokeWidth = 3.5;

mypathItems.strokeWidth = 2.5;

और फ़ाइल को उसी नाम से सहेजें (अंजीर। 5)।

डिज़ाइन mypathItems = app.activeDocument.layers.pathItemsनाम का एक वेरिएबल बनाने का मतलब है mypathआइटम, धन्यवाद जिससे सक्रिय दस्तावेज़ की पहली परत की सभी वस्तुओं के संदर्भ को छोटा करना संभव होगा। रेखा mypathItems.strokeWidth = 2.5कहते हैं कि सीमा चौड़ाई (संपत्ति रेखा की चौड़ाई) पहली वस्तु के लिए 2.5 पिक्सेल के बराबर होगा। शेष पंक्तियाँ समान हैं।

इलस्ट्रेटर में छवि पर स्विच करें और बनाई गई स्क्रिप्ट को कमांड के साथ चलाएं फ़ाइल => लिपियों => डिबगिंग(फ़ाइल => लिपियों => डीबग)। परिणाम सीमा की चौड़ाई में परिवर्तन होगा: पहली और तीसरी वस्तुओं के लिए 2.5 पिक्सेल, और दूसरी के लिए 3.5 पिक्सेल। चूंकि दस्तावेज़ में केवल एक परत है, इसलिए माना गया निर्माण छोटा हो सकता है (चित्र 6)।

व्यवहार में, एक ही परिवर्तन (इस मामले में, सीमा की चौड़ाई को बदलना) अक्सर कई या सभी वस्तुओं के संबंध में किया जाता है। एक स्क्रिप्ट में उन्हें मैन्युअल रूप से गिनने में, यहां तक ​​कि केवल पंक्तियों की प्रतिलिपि बनाने में, काफी लंबा समय लगता है; इसके अलावा, यह अनावश्यक त्रुटियों से भरा है और प्रोग्राम कोड को जटिल बनाता है। ऐसे मामलों में, वे चक्रों का सहारा लेते हैं - यदि दस्तावेज़ में सभी समान तीन आयतें हैं, तो सभी वस्तुओं के लिए चक्र में सीमा को 0.5 पिक्सेल के मान में घटाना अंजीर में दिखाया गया है। 7. इन पंक्तियों को डिबगिंग.जेएस फ़ाइल में टाइप करें, कार्यशील छवि को संसाधित करने के लिए स्क्रिप्ट को सहेजें और चलाएं। संशोधित स्क्रिप्ट को लूप ऑपरेटर के साथ पूरक किया गया था:

एफ या (लूप कंडीशन) (

लूप बॉडी

लूप की स्थिति अलग दिख सकती है, लेकिन ज्यादातर मामलों में इसे कंस्ट्रक्शन द्वारा दर्शाया जा सकता है मैं = 0; मैं<имя_объекта.length;i++ , जिसका अर्थ है शून्य से बढ़ने की दिशा में एक इकाई द्वारा चर i में परिवर्तन और जब तक इसका मान वस्तुओं की संख्या के साथ मेल नहीं खाता ( लंबाई) सक्रिय दस्तावेज़ की सक्रिय परत में। लूप का शरीर दोनों तरफ घुंघराले ब्रेसिज़ से घिरा होता है और इसमें एक या कई लाइनें शामिल हो सकती हैं (लूप में किए गए कार्यों की संख्या के आधार पर), जिनमें से प्रत्येक एक ";" वर्ण के साथ समाप्त होता है।

अब आइए स्क्रिप्ट को बदलने का प्रयास करें ताकि छवि में चयनित ऑब्जेक्ट होने पर ही सीमा बदल जाए, और साथ ही हम सशर्त कूद ऑपरेटर से परिचित हो जाएंगे, जो सामान्य रूप से इस तरह दिखता है:

अगर (शर्त) (

कार्रवाई सेट 1

कार्रवाई सेट 2

इस तरह के निर्माण का मतलब है कि यदि शर्त सही है, तो क्रियाओं का पहला सेट किया जाता है, और अन्यथा, दूसरा। अपने सरलतम रूप में, एक स्थिति को समानता या असमानता के रूप में दर्शाया जा सकता है, और क्रियाओं का कोई भी सेट घुंघराले ब्रेसिज़ में संलग्न होता है और इसमें एक या अधिक क्रियाएं शामिल हो सकती हैं, जिनमें से प्रत्येक एक अलग लाइन पर होती है और " ;" चरित्र। अंजीर के अनुसार स्क्रिप्ट को बदलने का प्रयास करें। 8 और व्यवहार में इसका परीक्षण करें। इस मामले में, स्क्रिप्ट को एक नए चर के साथ पूरक किया गया है दस्तावेज़ चयनित, लूप में चयनित ऑब्जेक्ट्स को संदर्भित करने के लिए उपयोग किया जाता है (लूप वैरिएबल तब तक बढ़ाया जाता है जब तक कि यह चयनित ऑब्जेक्ट्स की संख्या के बराबर न हो जाए) और एक कंडीशन स्टेटमेंट में प्रदर्शित होता है जिसे चयनित ऑब्जेक्ट्स की उपस्थिति के लिए चेक किया जाता है। जैसा कि चेक से पता चलता है, यह स्क्रिप्ट निष्पादित होने पर त्रुटियां उत्पन्न नहीं करती है, लेकिन यह सही ढंग से काम नहीं करती है - यदि चयनित वस्तुएं हैं, तो सीमा की चौड़ाई बदल जाती है, लेकिन उन वस्तुओं के लिए नहीं जिन्हें चुना गया था, लेकिन केवल वस्तुओं की इसी संख्या के लिए क्रम में। समस्या लाइन में है mypathItems [i] .स्ट्रोकविड्थ = 0.5और अनुमति दी जाएगी यदि इसे किसी संरचना द्वारा प्रतिस्थापित किया जाता है docचयनित [i] .स्ट्रोकविड्थ = 0.5(अंजीर। 9)। यह सुनिश्चित करने के लिए इसे स्वयं देखें कि अब सीमा की चौड़ाई केवल उन वस्तुओं के लिए बदलती है जिन्हें पहले चुना गया था।

अंत में, हम स्क्रिप्ट में एक परिष्कृत स्पर्श जोड़ देंगे - हम इसे जोड़ देंगे ताकि चयनित वस्तुओं की अनुपस्थिति में, स्क्रीन पर एक संबंधित संदेश दिखाई दे (चित्र 10 और 11)। संदेश प्रदर्शित करने के लिए, हम ऑपरेटर का उपयोग करेंगे चेतावनी, जो डिज़ाइन में पहले दर्ज किए गए मनमाना पाठ की स्क्रीन पर डिस्प्ले प्रदान करता है चेतावनीउद्धरणों में। यह ध्यान दिया जाना चाहिए कि ऑपरेटर चेतावनीयह केवल तभी उपयोगी हो सकता है जब आपको कुछ संदेशों के साथ स्क्रिप्ट के साथ जाने की आवश्यकता हो। स्क्रिप्ट को डिबग करते समय यह बहुत अधिक उपयोगी हो सकता है, जब स्क्रिप्ट की खराबी के कारण पूरी तरह से समझ से बाहर हों। ऐसी स्थितियों में अलर्ट ऑपरेटर का उपयोग करके, आप ट्रैक कर सकते हैं कि प्रोग्राम इस या उस निर्देश को कैसे समझता है, और इस प्रकार आप प्रोग्राम कोड के गलत संचालन का कारण निर्धारित कर सकते हैं।

स्क्रिप्ट बनाने और उपयोग करने के उदाहरण

एक ही प्रकार की वस्तुओं का रूप बदलना

दस्तावेज़ में एक ही प्रकार की सभी वस्तुओं के लिए कुछ गुणों को जल्दी से बदलना अक्सर आवश्यक होता है। उदाहरण के लिए, आपको वस्तुओं का भरण रंग बदलना होगा, या आकार को थोड़ा कम या बढ़ाना होगा। मैनुअल संस्करण में, इस मामले में, आपको अपनी रुचि की सभी वस्तुओं का चयन करना होगा, जो कि उनमें से एक महत्वपूर्ण संख्या के साथ, बल्कि थकाऊ है। इसलिए, इस तरह के संचालन के लिए, स्क्रिप्ट की एक श्रृंखला बनाएं जो स्वचालित रूप से कार्य करती है। मान लें कि आपको पहले से तैयार दस्तावेज़ में बड़ी संख्या में वर्ण छवियों के आकार को थोड़ा कम करने की आवश्यकता है ( प्रतीक आइटम) (चित्र 12), और यह पहले से ज्ञात नहीं है कि ऊंचाई के मूल्यों को कम करने के लिए कितने पिक्सेल की आवश्यकता है ( कद) और चौड़ाई ( चौड़ाई) इस मामले में, आपको इसे 1 पिक्सेल तक कम करना चाहिए, और यदि यह पर्याप्त नहीं है, तो इसे और कम करने के लिए स्क्रिप्ट को बार-बार चलाया जा सकता है। प्रारंभिक मूल्य की तुलना में किसी संपत्ति के मूल्य को एक निश्चित राशि से कम करने के लिए, संपत्ति में समान चिह्न के सामने "-" चिह्न जोड़ें - हमारे मामले में, संबंधित निर्माण रूप लेगा: mysymbolItems [i] .ऊंचाई- = 1... इसी तरह, आप "-" चिह्न के बजाय "+" टाइप करके किसी संपत्ति का मूल्य बढ़ा सकते हैं। बनाई गई स्क्रिप्ट अंजीर में दिखाई गई है। 13, और इसके काम का परिणाम अंजीर में दिखाया गया है। 14.

लिपियों का उपयोग न केवल वस्तुओं की एक या दूसरी संपत्ति को बदलने के लिए किया जा सकता है, बल्कि उनके डिजाइन को पूरा करने के लिए भी किया जा सकता है, जो कि अक्सर ग्राफिक शैली को लागू करके किया जाता है और इसे स्वचालित भी किया जा सकता है। ग्राफिक शैलियाँ ( ग्राफिक शैलियाँ), कई अन्य वस्तुओं की तरह, सरणियों में संयुक्त हैं और संख्याओं द्वारा पहुँचा जा सकता है। एक उदाहरण के रूप में, आइए एक स्क्रिप्ट बनाएं जो उन सभी वेक्टर वस्तुओं पर एक निश्चित शैली लागू करेगी जिनकी सीमा चौड़ाई 1 से कम या उसके बराबर है (वास्तव में, छवि सत्यापन का सिद्धांत उनके निर्माण की विशेषताओं पर निर्भर करता है और बहुत भिन्न हो सकता है) . ऐसी लिपि का एक उदाहरण अंजीर में दिखाया गया है। 15.

मोटी सीमाएं जो बहुत पतली हैं

अक्सर, विभिन्न परिवर्तनों के बाद, यह पता चलता है कि कुछ वस्तुओं की सीमाएँ बहुत पतली हैं और व्यावहारिक रूप से अदृश्य हो सकती हैं (चित्र 16)। फिर ऐसी वस्तुओं के लिए सीमा की चौड़ाई बढ़ानी पड़ती है, और बड़ी संख्या में वस्तुओं के साथ इसे मैन्युअल रूप से करना बहुत समस्याग्रस्त है। उपयुक्त स्क्रिप्ट का उपयोग करके इस कार्य को करना कहीं अधिक सुविधाजनक है, जिसमें कुछ ही सेकंड लगेंगे। ऐसी स्क्रिप्ट का कार्य सभी वस्तुओं पर पुनरावृति करना है, और उनमें से जिनकी सीमा की चौड़ाई कम है (उदाहरण के लिए, 0.25 पिक्सेल) - सीमा की चौड़ाई को 0.5 पिक्सेल तक बढ़ाने के लिए। शेष सीमाएं अपरिवर्तित रहनी चाहिए। बनाई गई स्क्रिप्ट अंजीर में दिखाई गई है। 17, और इसके काम का परिणाम अंजीर में दिखाया गया है। अठारह

टेक्स्ट ऑब्जेक्ट्स को फ़ॉर्मेट करना

अक्सर, दस्तावेज़ डिज़ाइन के किसी चरण में, इसमें शामिल टेक्स्ट ऑब्जेक्ट्स के डिज़ाइन सिद्धांत को बदलने की इच्छा होती है। हालांकि, बड़ी संख्या में वस्तुओं को हाइलाइट करना कठिन है। ऐसी स्थितियों में, आप एक स्क्रिप्ट बना सकते हैं जो टेक्स्ट ऑब्जेक्ट्स पर पुनरावृति करने और उनकी विशेषताओं को एक निश्चित तरीके से बदलने में सक्षम है, उदाहरण के लिए, फ़ॉन्ट के आकार, उसके रंग, फ़ॉन्ट, स्थिति आदि को कम करके।

आप ऐसी बहुत सी लिपियों के बारे में सोच सकते हैं, लेकिन हम दस्तावेज़ में सभी टेक्स्ट ऑब्जेक्ट्स के लिए फ़ॉन्ट आकार को 1 इकाई बढ़ाने और उसका रंग बदलने पर ध्यान केंद्रित करेंगे (चित्र 19)। इसमें एक लूप में कक्षा से वस्तुओं पर पुनरावृति शामिल है। टेक्स्टफ्रेम्स(इस प्रकार टेक्स्ट ऑब्जेक्ट्स को दर्शाया जाता है) और उनके गुणों को समायोजित करना चरित्र गुण। आकार:(फ़ॉन्ट आकार) और रंग भरना(इस मामले में, प्रतीकों का रंग)। इसी तरह की लिपि अंजीर में दिखाई गई है। 20, और इसके काम का परिणाम अंजीर में दिखाया गया है। 21.

वस्तुओं की ऊंचाई और चौड़ाई को संरेखित करना

संगठनात्मक, तकनीकी और अन्य प्रकार के व्यावसायिक आरेख बनाते समय, आपको बड़ी संख्या में समान वस्तुओं के साथ काम करना होता है, उदाहरण के लिए, साधारण आयत, जो उनमें रखे गए पाठ की अलग-अलग लंबाई के कारण आकार में भिन्न होते हैं (चित्र 22)। . अंततः, हालांकि, इन सभी तत्वों को अक्सर ऊंचाई में बराबर होना चाहिए। उन्हें मैन्युअल रूप से संरेखित करना, निश्चित रूप से परेशानी भरा है, लेकिन यह ऑपरेशन एक स्क्रिप्ट का उपयोग करके जल्दी से किया जा सकता है।

आइए एक स्क्रिप्ट बनाएं जो सभी ऑब्जेक्ट्स की ऊंचाई को अंतिम बनाए गए नियंत्रण ऑब्जेक्ट की ऊंचाई के साथ संरेखित करेगी। इसे मैन्युअल रूप से वांछित ऊंचाई (छवि 23) सेट करके बनाया जाना चाहिए, और वस्तुओं की चौड़ाई नहीं बदलनी चाहिए। ऐसा करने के लिए, यह केवल एक लूप में सभी वस्तुओं पर पुनरावृति करने के लिए पर्याप्त है, सामान्य अनुपात के अनुसार प्रत्येक के लिए नई ऊंचाई की पुनर्गणना करना और फिर इसे बदलना। ऊंचाई बदलने के लिए, हम विधि का उपयोग करेंगे आकार बदलें (स्केलएक्स, स्केलवाई), कहाँ पे स्केलएक्सतथा स्केलवाई- चौड़ाई और ऊंचाई के मूल्यों का प्रतिशत में परिवर्तन (पुराने मूल्यों की तुलना में)। हमारे मामले में, आपको केवल मूल्य की गणना करने की आवश्यकता है स्केलवाई, ए स्केलएक्स 100 के बराबर होगा, क्योंकि चौड़ाई अपरिवर्तित रहती है। हमारे द्वारा बनाई गई स्क्रिप्ट अंजीर में दिखाई गई है। 24, और इसके काम का परिणाम अंजीर में दिखाया गया है। 25.

ऐसी स्थिति भी होती है जब वस्तुओं को चौड़ाई में संरेखित करने की आवश्यकता होती है, जिससे उनकी ऊंचाई अपरिवर्तित रहती है। स्क्रिप्ट प्रक्रिया को स्वचालित करने में भी मदद करेगी, जिसे संपत्ति को बदलकर पिछले एक से प्राप्त किया जा सकता है कद(ऊंचाई) प्रति संपत्ति चौड़ाई(चौड़ाई) और आकार बदलने में वस्तुओं को स्केल करने के सिद्धांत को संपादित करना ( स्केलएक्स, स्केलवाई), जहां इस मामले में मूल्य स्केलवाई(अंजीर। 26)।

तालिका का प्रारूपण

यदि आपको एक ही प्रकार की वस्तुओं के साथ नियमित रूप से काम करना है, उदाहरण के लिए, तालिकाओं के साथ, जिसकी सामग्री, लाइनों की संख्या की तरह, लगातार बदल रही है, लेकिन डिजाइन की शैली संरक्षित है, तो आप काफी तेजी ला सकते हैं उपयुक्त स्क्रिप्ट बनाकर तालिका को डिजाइन करने की प्रक्रिया। मान लीजिए कि सभी टेबल सेल सफेद रंग में बनाए गए हैं और उनकी कोई सीमा नहीं है (चित्र 27)। डिजाइन करते समय, हेडर कोशिकाओं को एक निश्चित रंग से भरना आवश्यक है (दूसरे शब्दों में, संपत्ति का मूल्य बदलें रंग भरना) और उनके लिए 0.5 पिक्सेल चौड़ी एक पतली सीमा जोड़ें, जिसका अर्थ है गुणों को बदलना स्ट्रोक का रंगतथा रेखा की चौड़ाई.

इस मामले में, हेडिंग सेल का मतलब उन कोशिकाओं से है जिनकी एक निश्चित बाईं सीमा होती है - हमारे उदाहरण में, 40 पिक्सेल। कोशिकाओं का भरण रंग सीमा के रंग से भिन्न होगा, इसलिए आपको दो चर रंग बनाने होंगे - चलो उन्हें कहते हैं रंगनयातथा रंगनया1, जिनमें से प्रत्येक के लिए आपको रंग के लाल, हरे और नीले घटकों को निर्धारित करना होगा। उसके बाद, आपको लूप में सभी वेक्टर ऑब्जेक्ट्स पर पुनरावृति करने और गुणों को बदलने की आवश्यकता है रंग भरना, स्ट्रोक का रंगतथा रेखा की चौड़ाईजिनमें से लेफ्ट बॉर्डर 40 पिक्सल का है। बनाई गई स्क्रिप्ट अंजीर में दिखाई गई है। 28, और उसके काम का परिणाम अंजीर में है। 29.

कृपया ध्यान दें कि इस उदाहरण में, स्वयं कक्ष (अर्थात, संबंधित आयताकार वस्तुएं) दस्तावेज़ में मौजूद थे, इसलिए उनके मापदंडों को बदला जा सकता है। इसका मतलब यह है कि जब तालिका बनाई गई थी, तो इसकी कोशिकाओं को आयताकार वस्तुओं के रूप में खींचा गया था, और फिर क्लिपबोर्ड पर कॉपी किया गया और कमांड के साथ डुप्लिकेट किया गया संपादित करें => सामने चिपकाएँ(संपादित करें => सामने चिपकाएँ)। उसके बाद, पाठ को संबंधित आयताकार सेल के साथ समूहीकृत कोशिकाओं की प्रतियों में अंकित किया गया था। एक टेबल बनाने के लिए एक अलग तकनीक के साथ, इसके डिजाइन के लिए एक पूरी तरह से अलग स्क्रिप्ट की आवश्यकता होगी।

खुले दस्तावेज़ों को निर्यात करें और सहेजें

ऐसा होता है कि काम के अंत में कई और यहां तक ​​कि कई दस्तावेजों के साथ काम करने के बाद, उन सभी को वांछित प्रारूप में सहेजने या निर्यात करने की आवश्यकता होती है। आइए सभी खुली छवियों को jpg प्रारूप में निर्यात करने के विकल्प पर विचार करें। इस ऑपरेशन को करने के लिए एक स्क्रिप्ट बनाते समय, सबसे पहले, आपको यह सुनिश्चित करने की ज़रूरत है कि छवियों को अलग-अलग नामों से और एक विशिष्ट फ़ोल्डर में सहेजा गया है, और दूसरी बात, आपको किसी तरह दस्तावेज़ से दस्तावेज़ में स्विच करना चाहिए, बशर्ते दस्तावेज़ के नाम मनमानी हों।

पहली समस्या को हल करने के दो तरीके हैं - या तो गंतव्य फ़ोल्डर निर्दिष्ट करना, साथ ही स्क्रिप्ट निष्पादन के दौरान दस्तावेज़ का नाम मैन्युअल रूप से निर्दिष्ट करना (लेकिन यह काफी कठिन है, विशेष रूप से बड़ी संख्या में छवियों के मामले में), या बनाने के लिए एक निश्चित सिद्धांत के अनुसार फ़ोल्डर और दस्तावेज़ का नाम। हम दूसरे पथ का अनुसरण करेंगे, अर्थात हम एक निश्चित फ़ोल्डर को गंतव्य फ़ोल्डर के रूप में सेट करेंगे सी: / अस्थायी /, हम दस्तावेज़ का नाम वही छोड़ देंगे, और आवश्यक निर्यात प्रारूप चुनकर jpg एक्सटेंशन स्वचालित रूप से असाइन किया जाएगा। नतीजतन, इस उदाहरण में स्क्रिप्ट की संबंधित पंक्ति इस तरह दिखेगी: फ़ाइलस्पेक = नई फ़ाइल ("सी: / अस्थायी /" + doc.name), जहां doc.name सक्रिय दस्तावेज़ का नाम है।

दूसरी समस्या - दस्तावेज़ से दस्तावेज़ में स्विच करना - स्क्रिप्ट में स्वचालित रूप से इस तथ्य के कारण हल हो जाएगी कि पहले से निर्यात किए गए प्रत्येक दस्तावेज़ को तुरंत बंद कर दिया जाएगा, और इससे पहले लोड किया गया एक सक्रिय हो जाएगा। हालांकि, यह ध्यान में रखा जाना चाहिए कि इस स्क्रिप्ट में काम करने वाले दस्तावेजों की संख्या चर के मूल्य के रूप में निकलेगी, इसलिए इसे चक्र निष्पादन की ऊपरी सीमा के रूप में उपयोग करना संभव नहीं होगा। इसलिए, लूप से पहले, आपको दस्तावेजों की मूल संख्या को संग्रहीत करने के लिए एक अतिरिक्त चर बनाने की आवश्यकता है - docLength = दस्तावेज़। लंबाई.

इसके अलावा, doc.close के साथ छवियों को बंद करना बेहतर है ( SaveOptions.DOONOTSAVECHANGES), और doc.close () नहीं, क्योंकि दूसरे मामले में, प्रत्येक छवि को बंद करते समय, प्रोग्राम संबंधित पुष्टि के लिए पूछेगा। तैयार की गई समस्या को हल करने की स्क्रिप्ट अंजीर में दिखाई गई है। तीस।

फाइलों का बैच प्रसंस्करण

अक्सर फाइलों के समूहों के लिए समान प्रसंस्करण करना आवश्यक होता है, उदाहरण के लिए, बड़ी संख्या में फ़ाइलों को एक निश्चित रूप में परिवर्तित करते समय। ऐसे मामलों में, स्क्रिप्ट को बैच मोड में निष्पादित करने की सलाह दी जाती है। हालांकि यह सुविधा इलस्ट्रेटर में प्रदान नहीं की गई है, आप मैक्रो को बैच मोड में चला सकते हैं, जिनमें से एक कमांड आवश्यक स्क्रिप्ट का लॉन्च हो सकता है।

कल्पना कीजिए कि विभिन्न उपयोगकर्ताओं द्वारा विकसित बहुत सारी फाइलें हैं, और उन्हें आकार में जितना संभव हो उतना कम करने और उसी ईपीएस प्रारूप में अधिलेखित करने की आवश्यकता है। प्रत्येक फ़ाइल के लिए, आपको दो ऑपरेशन करने की आवश्यकता होती है: अनावश्यक ब्रश, ग्राफिक शैलियों, प्रतीकों और रंगों को हटा दें जो फ़ाइल को भारित करते हैं, और फिर छवि को ईपीएस प्रारूप में सहेजें। सैद्धांतिक रूप से, आप दोनों ऑपरेशनों को एक स्क्रिप्ट में रख सकते हैं, जिसे बाद में पैलेट से बैच मोड में लॉन्च किया जाता है। कार्रवाई(क्रियाएँ), लेकिन व्यवहार में आपको अलग तरह से कार्य करना होगा - मैक्रो का उपयोग करें अप्रयुक्त पैलेट आइटम हटाएंसेट से डिफ़ॉल्ट क्रियाएंजो अप्रयुक्त ब्रश, ग्राफिक शैलियों, प्रतीकों और रंगों को हटाने के लिए जिम्मेदार है। दुर्भाग्य से, जावास्क्रिप्ट की क्षमताएं कुछ हद तक सीमित हैं, और इसलिए, इस समस्या को हल करने के लिए, आपको कमांड का उपयोग करना होगा docRef.swatches.removeAll (), docRef.symbols.removeAll ()और डी ocRef.graphicStyles.removeAll (), जो सभी रंगों, प्रतीकों आदि को हटा देगा, और न केवल अप्रयुक्त, जिसे इष्टतम समाधान नहीं माना जा सकता है। आप एक-एक करके अनावश्यक ग्राफिक तत्वों को हटा सकते हैं, लेकिन इसमें बहुत समय और प्रयास लगेगा। अप्रयुक्त पैलेट आइटम हटाएं मैक्रो के लिए धन्यवाद, हमें जो कार्रवाई करने की आवश्यकता है वह कुछ ही सेकंड में पूरी हो जाएगी, इसलिए हम स्क्रिप्ट और मैक्रो के संयोजन पर ध्यान केंद्रित करेंगे।

पैलेट खोलें कार्रवाई(मैक्रोज़) कमांड का उपयोग कर विंडो => क्रियाएँ(विंडो => क्रियाएँ) और बटन पर क्लिक करके उसमें क्रियाओं का एक नया सेट बनाएँ नया सेट बनाएं(नया सेट बनाएं) पैलेट के नीचे स्थित है। मैक्रो चुनें अप्रयुक्त पैलेट आइटम हटाएं, इसे कमांड के साथ डुप्लिकेट करें डुप्लिकेट(डुप्लिकेट) और डुप्लिकेट ऑपरेशन को बनाए गए मैक्रो सेट में खींचें। अब आपको ईपीएस प्रारूप में फ़ाइल को सहेजने के संचालन के साथ मैक्रो को पूरक करने की आवश्यकता है - इस ऑपरेशन के लिए एक विशेष रूप से बनाई गई स्क्रिप्ट जिम्मेदार होगी। SaveAsEPS(अंजीर। 31)। हम फ़ाइलों को उनके मूल नामों के तहत फ़ोल्डर में सहेजेंगे सी: / अस्थायी /.

क्रियाओं के बनाए गए सेट में स्क्रिप्ट लॉन्च को दूसरे मैक्रो के रूप में व्यवस्थित करना अधिक तार्किक प्रतीत होगा, लेकिन यह फ़ाइलों के आगे के प्रसंस्करण के लिए असुविधाजनक होगा। तथ्य यह है कि बैच मोड में केवल एक मैक्रो चलाया जा सकता है, इसलिए, फ़ाइल प्रोसेसिंग ऑपरेशन को एक चरण में करने के लिए, स्क्रिप्ट चलाकर अप्रयुक्त पैलेट आइटम हटाएं मैक्रो जोड़ें और मैक्रो का नाम बदलें। स्क्रिप्ट लॉन्च को कमांड का उपयोग करके सेट में शामिल किया जा सकता है मेनू आइटम डालें(मेनू आइटम डालें) खुलने वाली विंडो में कमांड निर्दिष्ट करके क्रिया पैलेट मेनू फ़ाइल => लिपियों => SaveAsEPS(फ़ाइल => लिपियों => ईपीएस के रूप में सहेजें), अंजीर। 32.

पैलेट मेनू से बनाए गए मैक्रो को बैच मोड में चलाने के लिए कार्रवाईओपन कमांड जत्था(बैच), खुलने वाले संवाद में, सूची से मैक्रोज़ का एक सेट चुनें सेट(सेट), और फिर सूची में वांछित मैक्रो कार्य(कार्य)। सूची में अगला स्रोत(स्रोत) विकल्प स्थापित करें फ़ोल्डर(फ़ोल्डर), बटन पर क्लिक करें चुनना(चुनें) और पहले बनाए गए स्रोत फ़ोल्डर को निर्दिष्ट करें। सूची मैं गंतव्य(रिसीवर) विकल्प चुनें सहेजें और बंद करें(सहेजें और बंद करें) (अंजीर। 33) और ओके बटन पर क्लिक करें। परिणाम फ़ोल्डर में कम आकार की फ़ाइलों की उपस्थिति होगी सी: / अस्थायी /- ये सभी ईपीएस फॉर्मेट में होंगे।

इस संग्रह में आपको Adobe Illustrator के लिए 10 उपयोगी स्क्रिप्ट मिलेंगी। ये स्क्रिप्ट पूरी तरह से फ्री हैं। सभी संदर्भ लिपियों के नाम पर हैं। यदि स्क्रिप्ट लिंक से डाउनलोड नहीं करना चाहता है, लेकिन इसके बजाय कोड आपके ब्राउज़र में खुलता है, तो करें राइट क्लिक> लिंक को इस रूप में सहेजेंऔर स्क्रिप्ट को अपने कंप्यूटर पर सहेजें।

उन लोगों के लिए एक छोटा गीतात्मक विषयांतर जिन्होंने पहले इलस्ट्रेटर में स्क्रिप्ट का सामना नहीं किया है। स्क्रिप्ट एक प्रोग्राम है जिसे Adobe Illustrator में मेनू से लॉन्च किया जा सकता है फ़ाइल> स्क्रिप्ट... जैसा कि किसी भी कार्यक्रम के लिए होना चाहिए, स्क्रिप्ट किसी भी उपयोगी क्रिया को जल्दी और स्वचालित रूप से करती है। यही कारण है कि स्क्रिप्ट माइक्रोस्टॉकर्स के लिए अपरिहार्य सहायक बन गई हैं, क्योंकि हमारे काम में पर्याप्त से अधिक दिनचर्या हैं।

Adobe Illustrator के लिए निम्नलिखित स्क्रिप्ट डिजाइनरों को विभिन्न कार्यों में मदद करती हैं। माइक्रोस्टॉक्स के लिए वेक्टर फाइलों की तैयारी से शुरू होकर फूलों के प्राधिकरण के साथ समाप्त होता है। लेकिन अगर यह आपके लिए पर्याप्त नहीं है, तो लेख के अंत में लिपियों के पूरे समूह के लिंक हैं।

अपने इलस्ट्रेटर पर स्क्रिप्ट स्थापित करने के लिए, आपको स्क्रिप्ट फ़ाइल को मानक स्क्रिप्ट वाले फ़ोल्डर में कॉपी करना होगा। इसके लिए देखें कि आपका इलस्ट्रेटर कहाँ स्थापित है।

विंडोज़ के लिए, यह आमतौर पर है: ड्राइव सी> प्रोग्राम फ़ाइलें> एडोब> एडोब इलस्ट्रेटर के अपने संस्करण के साथ फ़ोल्डर> शैलियाँ (प्रीसेट)> en_GB या RU (एक फ़ोल्डर वहाँ नहीं छूटेगा)> स्क्रिप्ट.

खसखस के लिए: एप्लिकेशन> Adobe> Adobe Illustrator का आपका संस्करण> प्रीसेट> en_GB> स्क्रिप्ट.

यदि आपको मानक फ़ोल्डर नहीं मिल रहा है, तो स्क्रिप्ट को इलस्ट्रेटर में बिना इंस्टाल किए चलाया जा सकता है फ़ाइल> स्क्रिप्ट> अन्य स्क्रिप्ट (Ctrl + F12).

तो चलते हैं!

स्क्रिप्ट उन त्रुटियों को खोजती है और ठीक करती है जिनकी माइक्रोस्टॉक पर अनुमति नहीं है। वेक्टर फ़ाइल स्वचालित रूप से स्कैन की जाती है: स्क्रिप्ट खुले पथ, भूत पथ, अनपेक्षित ब्रश, प्रतीक, रेखापुंज, और बहुत कुछ ढूंढती है। साथ ही, स्क्रिप्ट तुरंत इन त्रुटियों को ठीक करने का सुझाव देती है। आप एमएआई टूल्स पर फ्री स्टॉक मास्टर को मुफ्त में डाउनलोड कर सकते हैं।

इस स्क्रिप्ट का उपयोग करके, आप वेक्टर फ़ाइल में कुछ वस्तुओं की उपस्थिति के लिए चुनिंदा जांच कर सकते हैं। उदाहरण के लिए, खुले रास्ते, रेखापुंज आदि की खोज करें। आप स्क्रिप्ट को शुष्क महासागर से डाउनलोड कर सकते हैं। हरे रंग का ExtendedSelect.zip बटन सबसे ऊपर है।

स्क्रिप्ट एक बहु-पृष्ठ पीडीएफ को पूरी तरह से और पूरी तरह से खोलती है, और एक समय में एक पृष्ठ नहीं, जैसा कि इलस्ट्रेटर में प्रथागत है। स्क्रिप्ट विंडो में, हम पीडीएफ फाइल के लिए पथ, पृष्ठों की संख्या को इंगित करते हैं, और यह कई आर्टबोर्ड पर एक दस्तावेज़ में खुलता है।

स्क्रिप्ट चयनित ऑब्जेक्ट को पिक्सेल ग्रिड में संरेखित करती है। पिक्सेल ग्रिड में संरेखित करें विकल्प की तरह ही काम करता है।

स्क्रिप्ट चयनित वस्तु को उलट देती है ताकि वह फूल या पैटर्न की तरह दिखे।

लिपि आकृतियों के कोने-कोने से रेखाएँ खींचती है। परिणाम ज्यामितीय पैटर्न और चित्रलेख है।

स्क्रिप्ट वस्तुओं से नोड्स को मोड़ती है, दिलचस्प पैटर्न प्राप्त होते हैं। स्क्रिप्ट में सुविधाजनक सेटिंग्स हैं जो तुरंत चयनित आकार पर लागू होती हैं। आप तुरंत देख सकते हैं कि कार्य क्षेत्र में क्या होता है।

लिपि रेखाओं और बिंदुओं की स्थिति को बदल देती है ताकि ज्यामितीय रूप से सही चित्र अधिक विशद हो जाए। या कुटिल, लेकिन यह सेटिंग्स के साथ खेलने जैसा है।

स्क्रिप्ट अलग-अलग एक-पंक्ति वाले टेक्स्ट जैसे पोस्टर पर एक समान कॉलम बनाती है।

Adobe Illustrator में आपके सपनों को साकार करने में मदद करने के लिए कई प्रकार के उपकरण और सुविधाएँ हैं। लेकिन आपके शस्त्रागार में इतने सारे अवसरों के साथ भी, निश्चित रूप से कुछ न कुछ छूट जाएगा। इंटरनेट पर, अब आप Adobe Illustrator के लिए कई स्क्रिप्ट और प्लग-इन पा सकते हैं जो इसकी कार्यक्षमता को बढ़ाते हैं। इन ऐड-ऑन के बिना, Adobe Illustrator कुछ कार्यों का सामना करने में सक्षम नहीं हो सकता है, या कलाकार के लिए अतिरिक्त काम जोड़ सकता है। इसलिए, आज हम कई पर विचार करेंगे एडोब इलस्ट्रेटर के लिए उपयोगी और मुफ्त स्क्रिप्ट.

स्क्रिप्ट स्थापित करना

स्क्रिप्ट को Adobe Illustrator में काम करने के लिए, हमें इसे Scripts फ़ोल्डर में रखना होगा, जो Adobe Illustrator निर्देशिका में स्थित है। मेरे मामले में, यह है ... / Adobe / Adobe_Illustrator_CS5 / Presets / en_GB / Scripts। यदि आप Adobe_Illustrator_CS5 के बजाय प्रोग्राम के पुराने संस्करण का उपयोग कर रहे हैं, तो आपके मामले में Adobe_Illustrator_CS4, Adobe_Illustrator_CS3, आदि हो सकते हैं।
यदि आपने एक संग्रह में संपीड़ित स्क्रिप्ट डाउनलोड की हैं, तो उन्हें अनपैक करना न भूलें। स्थापना के बाद, आपको Adobe Illustrator को पुनरारंभ करना होगा।

उपयोग के लिए उपलब्ध स्क्रिप्ट्स स्क्रिप्ट्स सबमेनू में फ़ाइल टैब पर पाई जा सकती हैं।

खुला पथ चुनें

यह स्क्रिप्ट सभी ओपन-लूप आकृतियों को ढूंढेगी और उनका चयन करेगी। माइक्रोस्टॉक्स के लिए वेक्टर बनाते समय यह स्क्रिप्ट उपयोगी होगी, क्योंकि क्लोज्ड लूप्स माइक्रोस्टॉक बेस में आपके काम को स्वीकार करने के मानदंडों में से एक हैं।

सभी पथ बंद करें / सभी चयनित पथ बंद करें

यह स्क्रिप्ट सभी आकृतियों, या चयनित आकृतियों के लिए पथ बंद कर देती है। इसलिए, उदाहरण के लिए, सेलेक्ट ओपन पाथ का उपयोग करके खुले रास्ते खोजने के बाद, आप उन्हें बंद कर सकते हैं।

टेक्स्ट फ्रेम बांटें

इस स्क्रिप्ट की मदद से, आप एक टेक्स्ट फ़ील्ड को छोटे क्षेत्रों में विभाजित कर सकते हैं, जहां अलगाव एक लाइन ब्रेक होगा।

टेक्स्ट फ्रेम्स में शामिल हों

यह स्क्रिप्ट कई टेक्स्ट फ़ील्ड को एक में जोड़ देगी।

फ्लेरिफाइ

इस लिपि के लिए धन्यवाद, आकृतियों को सुंदर पुष्प वक्रों से सजाया जाएगा।

मेटाबॉल

इस लिपि का उपयोग करने के बाद, कुछ सरल आकृतियाँ अधिक जटिल आकृतियों में बदल जाएँगी।

सीएमवाईके से पैनटोन v.2

यह स्क्रिप्ट सीएमवाईके रंग मोड को पैनटोन में बदल देती है

वृत्त

इस स्क्रिप्ट के लिए धन्यवाद, आप इस पर आवश्यक संख्या में बिंदुओं के साथ वृत्त आकृतियाँ बना सकते हैं।

एंकर हटाएं

यह स्क्रिप्ट आकृति पर चयनित बिंदुओं को हटा देगी।

किसी भी कोने को गोल करें

इस लिपि का उपयोग करने के बाद, आकृति के नुकीले कोनों को गोल कोनों में बदल दिया जाएगा।

वस्तुओं की अदला-बदली करें

यह लिपि एक वस्तु को दूसरे के गुण और दूसरे को - पहले के गुण बताएगी। मंच पर आकार और स्थान का उपयोग गुणों के रूप में किया जाएगा।

आकार के अनुसार पथ का चयन करें

प्लगइन आपको एक निश्चित आकार के आकार खोजने में मदद करेगा।

Adobe Illustrator की कार्यक्षमता बहुत बड़ी है, लेकिन यहाँ कुछ कमियाँ भी हैं, क्योंकि इस प्रोग्राम में स्क्रिप्टिंग है जो प्रोग्राम की क्षमताओं को सरल और विस्तृत करती है। स्क्रिप्टिंग के अलावा, एक्सटेंशन भी हैं - प्रोग्राम को विस्तारित करने के लिए उपयोगकर्ता पैनल, लेकिन यह थोड़ा अलग विषय है।

स्क्रिप्ट स्थापित करना

यदि आपने कभी भी Adobe Illustrator में स्क्रिप्ट का उपयोग नहीं किया है, तो यहां एक स्क्रिप्ट चलाने के तरीके के बारे में एक त्वरित मार्गदर्शिका है।

सबसे पहले, हमें उन लिपियों को रखना होगा जिन्हें आप "स्क्रिप्ट" फ़ोल्डर में उपयोग करना चाहते हैं। मैं इस फ़ोल्डर का पथ कैसे खोजूं? यह आसान है, उस फ़ोल्डर के रूट पर जाएं जहां एडोब इलस्ट्रेटर प्रोग्राम स्थित है, फिर "प्रीसेट -> en_US -> स्क्रिप्ट्स", en_US के बजाय स्थानीयकरण के साथ एक और फ़ोल्डर हो सकता है, इलस्ट्रेटर का स्थानीयकरण क्या है, और ऐसा चुनें एक फोल्डर।

आपके द्वारा स्क्रिप्ट को फ़ोल्डर में रखने के बाद, आप उन्हें मानक विधि का उपयोग करके चला सकते हैं - यह "फ़ाइल -> स्क्रिप्ट" के माध्यम से लॉन्च हो रहा है, ड्रॉप-डाउन मेनू में आपकी स्क्रिप्ट की एक सूची होगी, उनमें से किसी पर क्लिक करें और आप स्क्रिप्ट चलाएंगे। यहां तक ​​​​कि अगर आपकी स्क्रिप्ट एक अलग फ़ोल्डर में हैं, तो भी आप उन्हें कई तरीकों से चला सकते हैं:

  1. मेनू "फ़ाइल -> स्क्रिप्ट -> अन्य स्क्रिप्ट ..." पर जाएं, एक्सप्लोरर खुल जाएगा, जिसके बाद आपको स्क्रिप्ट फ़ाइल ढूंढनी होगी, और फिर स्क्रिप्ट चलाएं
  2. आप बस एक्सप्लोरर से स्क्रिप्ट को इलस्ट्रेटर में खींच सकते हैं, जिसके बाद स्क्रिप्ट शुरू हो जाएगी।
  3. आप स्क्रिप्ट चलाने के लिए एक्सटेंशन का उपयोग कर सकते हैं - यह इलस्ट्रेटर के लिए एक पैनल है जो आपको प्रोग्राम से सीधे स्क्रिप्ट चलाने की अनुमति देता है। ऐसे कई एक्सटेंशन हैं। मैं LAScripts का उपयोग करने की सलाह देता हूं।

हार्मोनाइजर

ग्रिड पर तत्वों की व्यवस्था के लिए स्क्रिप्ट

वस्तुओं का चयन करें, स्क्रिप्ट चलाएं, स्तंभों की संख्या का चयन करें (लाइनों की स्वचालित रूप से गणना की जाएगी), तत्वों के बीच की दूरी का चयन करें, साथ ही साथ उनका केंद्र (डिफ़ॉल्ट रूप से, चयनित लोगों में से सबसे बड़ा तत्व लिया जाता है)।

ArtboardsResizeWithObjects

सामग्री के साथ आर्टबोर्ड का आकार बदलने के लिए स्क्रिप्ट।

एडोब फोटोशॉप में सामग्री के साथ आर्टबोर्ड को बदलने के लिए एक "छवि आकार" फ़ंक्शन है, लेकिन एडोब इलस्ट्रेटर में बॉक्स से बाहर ऐसा कोई फ़ंक्शन नहीं है। कभी-कभी, सामग्री के साथ-साथ आर्टबोर्ड को बदलना आवश्यक होता है, ताकि परिवर्तन के बाद सभी राज्यों को संरक्षित किया जा सके।

मान लें कि आप अपने हाथों से आर्टबोर्ड को बदलने का निर्णय लेते हैं, अपने कार्यों का क्रम: आर्टबोर्ड बदलें, फिर आप आर्टबोर्ड पर सभी तत्वों का चयन करें, और आकार बदलें, लेकिन यहां केवल एक समस्या आती है। यदि आपके पास स्ट्रोक वाले तत्व हैं, तो जब आप हाथ से बदलते हैं, तो स्ट्रोक सिकुड़ता नहीं है क्योंकि वस्तु सिकुड़ती है, आप "स्केल स्ट्रोक और प्रभाव" चेकबॉक्स को चेक करके इस समाधान को प्राप्त कर सकते हैं, लेकिन क्या होगा यदि आपको कई आर्टबोर्ड का आकार बदलने की आवश्यकता है ? सरल और समय बचाने के लिए, artboardsResizeWithObjects.jsx स्क्रिप्ट का उपयोग करें


  • नया पैमाना कारक- आर्टबोर्ड का पैमाना प्रतिशत के रूप में
  • नई आर्टबोर्ड चौड़ाई- नई आर्टबोर्ड चौड़ाई, ऊंचाई आनुपातिक रूप से बदल जाएगी
  • नई आर्टबोर्ड ऊंचाई- नई आर्टबोर्ड ऊंचाई, चौड़ाई आनुपातिक रूप से बदल जाएगी
  • केवल सक्रिय आर्टबोर्ड- केवल सक्रिय आर्टबोर्ड बदलें
  • सभी आर्टबोर्ड- सभी आर्टबोर्ड बदलें
  • कस्टम आर्टबोर्ड- मनमाना आर्टबोर्ड बदलें, आप अल्पविराम और हाइफ़न दोनों लिख सकते हैं (जैसे जब आप मुद्रण करते समय पृष्ठ निर्दिष्ट करते हैं)
  • छिपी और बंद वस्तुओं को शामिल करें- लॉक और छिपे हुए तत्वों को ध्यान में रखें
  • आयाम के लिए इनपुट फ़ील्ड- डिफ़ॉल्ट सक्रिय आर्टबोर्ड की चौड़ाई है।

आर्टबोर्ड्सऑब्जेक्ट्स के साथ घुमाएं

सामग्री के साथ आर्टबोर्ड को घुमाने के लिए स्क्रिप्ट।

एडोब फोटोशॉप में, आप आर्टबोर्ड को घुमा सकते हैं और सामग्री भी घुमाई जाएगी, लेकिन एडोब इलस्ट्रेटर में बॉक्स से बाहर ऐसा कोई फ़ंक्शन नहीं है।

यह स्क्रिप्ट उपयोगी है यदि आपको कई आर्टबोर्ड को घुमाने की आवश्यकता है, या यदि आप इसे घुमाने के बाद आर्टबोर्ड के सापेक्ष स्थिति को समायोजित करने में समय बर्बाद नहीं करना चाहते हैं।


लिपि में प्रत्येक बिंदु का संक्षिप्त विवरण:

  • सक्रिय आर्टबोर्ड #- केवल सक्रिय आर्टबोर्ड को घुमाएं
  • सभी आर्टबोर्ड- सभी आर्टबोर्ड घुमाएँ
  • रोटेशन कोण 90 सीडब्ल्यू- आर्टबोर्ड को दक्षिणावर्त घुमाएं
  • रोटेशन कोण 90 सीसीडब्ल्यू- आर्टबोर्ड को वामावर्त घुमाएं

इनलाइनएसवीजीटीओएआई

दस्तावेज़ में svg डालने के लिए स्क्रिप्ट (और svg कोड कनवर्ट करें)।

Adobe Illustrator CC 2018 v.22.1 (मार्च, 2018) के संस्करण में, हमने एक svg ऑब्जेक्ट डालने की क्षमता को जोड़ा, इस मामले में स्क्रिप्ट का उपयोग करने की आवश्यकता नहीं है।

यह मुझे हमेशा परेशान करता था कि एक svg को उस प्रोग्राम में नहीं डाला जा सकता है जो एक वेक्टर में विशेषज्ञता रखता है, मेरा मतलब है कि अगर हमने svg कोड को संपादक से या कहीं और से कॉपी किया है, लेकिन टेक्स्ट के रूप में, तो यह इसे सम्मिलित करने के लिए काम नहीं करेगा। कार्यक्रम में। आपको पहले कोड को एक फ़ाइल में सहेजना होगा, उसके बाद ही फ़ाइल को Illustraor में खोलें, सामग्री को कॉपी करें और वांछित दस्तावेज़ में पेस्ट करें। बहुत सारी अनावश्यक क्रियाएं हैं, है ना?

इस गलतफहमी से छुटकारा पाने के लिए, मैंने एक स्क्रिप्ट लिखी जो स्वचालित रूप से एक फ़ाइल बनाएगी, सामग्री को आपके दस्तावेज़ में आयात करेगी और फिर उसे हटा देगी। वे। स्क्रिप्ट सब कुछ वैसा ही करती है, लेकिन केवल हमारी भागीदारी के बिना और इस पर समय बर्बाद करने की कोई जरूरत नहीं है।


लिपि में प्रत्येक बिंदु का संक्षिप्त विवरण:

  • यह आसान है - सामग्री को फ़ील्ड में पेस्ट करें और "चिपकाएं" पर क्लिक करें

पहेली क्लिपर


वस्तुओं पर आधारित पहेली पहेली बनाने के लिए एक स्क्रिप्ट।

स्क्रिप्ट क्लिपिंग मास्क के साथ समूह बनाती है, जो तत्व "आरा" होगा - चयनित लोगों की सबसे निचली वस्तु। संचालन के तरीके, यदि आपके पास शीर्ष पर एक समूह और नीचे एक वस्तु है, तो समूह के सभी तत्वों को क्लिपिंग मास्क के साथ समूहों में और चयनित लोगों के बहुत नीचे से एक वस्तु में परिवर्तित किया जाएगा। स्क्रिप्ट में कोई इंटरफ़ेस नहीं है, बस उन तत्वों का चयन करें जिनकी आपको आवश्यकता है और स्क्रिप्ट चलाएँ।


आइटम बदलें

ऑब्जेक्ट को मूल वाले, ऑब्जेक्ट को समूह या क्लिपबोर्ड से बदलने के लिए स्क्रिप्ट।

उदाहरण के लिए, आपको लेआउट पर कुछ तत्वों को बदलने की आवश्यकता है, लेकिन उन्हें हाथ से बदलने में लंबा समय लगता है, आप प्रतिस्थापन के लिए इस स्क्रिप्ट का उपयोग कर सकते हैं, बस आपको आवश्यक तत्व का चयन करें, इसे कॉपी करें, फिर स्क्रिप्ट चलाएं, चुनें "ऑब्जेक्ट बफर" आइटम।

इसके अलावा, स्क्रिप्ट गलती से प्रत्येक तत्व को घुमा सकती है, प्रतिस्थापित तत्व के आयाम ले सकती है, भरण ले सकती है, और आप मूल तत्व को हटा भी नहीं सकते हैं।


लिपि में प्रत्येक बिंदु का संक्षिप्त विवरण:

  • बफर में वस्तु - वस्तु क्लिपबोर्ड पर है
  • शीर्ष वस्तु - वस्तु चयनित सूची से पहली है
  • समूह में सभी (यादृच्छिक) - समूह से एक वस्तु को यादृच्छिक रूप से चुना जाता है
  • स्केल फ़ील्ड - सम्मिलित तत्व का पैमाना
  • किसी समूह में आइटम बदलें? - क्या समूह में बदली जाने वाली वस्तुएं हैं? (यदि वे तत्व जिन्हें प्रतिस्थापित करने की आवश्यकता है, समूह में हैं, तो इस बॉक्स को चेक करें, अन्यथा पूरे समूह को बदल दिया जाएगा, न कि समूह के प्रत्येक तत्व को)
  • चौड़ाई और ऊँचाई की प्रतिलिपि बनाएँ - प्रतिस्थापित किए जा रहे तत्व से चौड़ाई और ऊँचाई मान कॉपी करें
  • मूल तत्व सहेजें - प्रतिस्थापित तत्व को सहेजें (हटाएं नहीं)
  • तत्व से रंग कॉपी करें - बदले गए तत्व से भरण की प्रतिलिपि बनाएँ
  • यादृच्छिक तत्व रोटेशन - प्रत्येक तत्व को बेतरतीब ढंग से घुमाएं

चयन से आर्टबोर्ड बनाएं

चयनित वस्तुओं के आधार पर आर्टबोर्ड बनाने की स्क्रिप्ट।

स्क्रिप्ट चयनित वस्तुओं के साथ-साथ प्रत्येक चयनित आइटम के आधार पर एक आर्टबोर्ड बनाती है।


लिपि में प्रत्येक बिंदु का संक्षिप्त विवरण:

  • चयन में प्रत्येक - चयनित वस्तुओं के प्रत्येक संग्रह के लिए बनाएं
  • केवल चयन सीमा - चयन के आधार पर एक आर्टबोर्ड बनाएं।
  • आइटम सीमा दृश्यमान - आइटम सीमाएं "दृश्यमान"
  • आइटम सीमा ज्यामितीय - आइटम सीमा "ज्यामितीय"

स्थानांतरण नमूने

दस्तावेज़ से सक्रिय दस्तावेज़ में नमूने आयात करने के लिए स्क्रिप्ट।

स्क्रिप्ट चलाएँ, सूची से एक दस्तावेज़ का चयन करें, आप बॉक्स को भी चेक कर सकते हैं ताकि समान नाम वाले रंगों को बदल दिया जाए।


ArtboardItemsMoveToNewLayer

एक स्क्रिप्ट जो आर्टबोर्ड की सामग्री को एक नई परत पर रखती है।

स्क्रिप्ट चलाएँ, अपने आर्टबोर्ड का चयन करें, आप "रिमूव लेयर्स एंड सबलेयर्स" और "लेयर नेम फ्रॉम आर्टबोर्ड नेम" का चयन भी कर सकते हैं।


आपके पास Adobe Illustrator की कार्यक्षमता का विस्तार करने का एक अनूठा अवसर है। स्क्रिप्ट (स्क्रिप्ट फ़ाइलें) का उपयोग करने से आसान कुछ भी नहीं है, बस ऑब्जेक्ट का चयन करें और अपनी इच्छित स्क्रिप्ट चलाएँ। इस पोस्ट में प्रस्तुत स्क्रिप्ट आपका बहुत समय बचाएगी, आपके काम को और अधिक मनोरंजक और कुशल बनाएगी। मेरा विश्वास करो, वे आपके ध्यान देने योग्य हैं। इलस्ट्रेटर के CS3 और CS4 संस्करणों में सभी लिपियों का परीक्षण किया गया है।

यदि आपको प्रीमियम गुणवत्ता वाले इलस्ट्रेटर ऐड-ऑन की आवश्यकता है, तो आप उन्हें हमारे ग्राफिकरिवर संसाधन के इलस्ट्रेटर एक्शन्स और स्क्रिप्ट्स सेक्शन में पा सकते हैं, जैसे कि आइसोमेट्रिक गाइड्स ग्रिड एक्शन, पैटर्न मेकर, और लॉन्ग शैडो एक्शन (एक लंबी छाया बनाने की क्रिया)।

ग्राफिक नदी पर इलस्ट्रेटर के लिए सर्वश्रेष्ठ एक्शन और स्क्रिप्ट।

अन्यथा, मुफ्त "बन" का उपयोग करें जिसके बारे में हम आपको अभी बताएंगे। लेकिन पहले, आइए जानें कि इलस्ट्रेटर के लिए स्क्रिप्ट कैसे स्थापित करें।

स्क्रिप्ट स्थापित करना

आपके द्वारा उपयोग की जाने वाली स्क्रिप्ट हमेशा एक ही स्थान पर सहेजी जानी चाहिए, उदाहरण के लिए, स्क्रिप्स निर्देशिका में। स्क्रिप्ट चलाने के लिए, फ़ाइल> स्क्रिप्ट> अन्य स्क्रिप्ट (कमांड + F12) (फ़ाइल> स्क्रिप्ट> अन्य स्क्रिप्ट) पर जाएं।

स्क्रिप्ट के साथ निर्देशिका खोलें और आवश्यक फ़ाइल चलाएँ।

इसे साझा करें