यह स्क्रिप्ट निम्न प्रयास कर रहा है:
- एक नया फ़ोल्डर बना
- सभी चित्रों को फ़ोटोशॉप में ग्रेस्केल में कनवर्ट करें
- फ़ोटोशॉप से नए फ़ोल्डर में नई ग्रेस्केल छवियों को सहेजने के लिए
फ़ोटोशॉप में ग्रेस्केल में परिवर्तित करने के लिए
ब्रिजटॉक ऑब्जेक्ट के उपयोग की आवश्यकता होती है, जो इनडिज़ाइन और फ़ोटोशॉप (
BridgeTalk ऑब्जेक्ट के उपयोग के लिए एक प्रपत्र लगता है अजाक्स का)
जो अब तक मेरे पास है लगभग काम कर रहा है, यह कि एक नया फ़ोल्डर बनाया गया है, और InDesign के माध्यम से Photoshop के साथ संचार करने लगता हैBridgeTalk लेकिन जब फ़ोटोशॉप खोला जाता है, तो कुछ नहीं होता - कोई भी नई छवियां सहेजी नहीं जाती हैं, और मुझे यकीन नहीं है कि ग्रेस्केल रूपांतरण हो रहा है या नहीं ... यह
मेरा कोड है: < पूर्व># लक्ष्य "इनडिज़ाइन" var inDesignDocument = app.activeDocument; Var newFolder = createFolder (inDesignDocument); // यदि उपनिर्देशिका छवियां DNE, तो नीचे दिए गए फ़ंक्शन के साथ इस फ़ोल्डर को बनाएँइसेमेजटेंफ़ोशॉप (इनडिज़ाइन डॉक्यूमेंट, न्यूफ़ोल्डर); // ------------------------------------------------ -------------------------------------------------- ------------- फंक्शन createFolder (doc) {try {/ * * टाइप-कास्टिंग फ़ाइल प्रकार संपत्ति (प्रकार ऑब्जेक्ट का) स्ट्रिंग प्रकार में; * उप-डायरेक्टरी वैरिएबल (प्रकार स्ट्रिंग के भी) * / var docPath = String (doc.filePath) के साथ एक स्ट्रिंग प्रकार होना चाहिए; Var उपनिर्देशिका = "/ काले और सफेद छवियाँ"; } पकड़ (ई) {चेतावनी (ई। संदेश); बाहर जाएं(); } Var imagesFolder = docPath + उपनिर्देशिका; // दो चर को जोड़कर अगर (! फ़ोल्डर (छवि फ़ॉल्सर) .exists) {फ़ोल्डर (imagesFolder) .create (); } छवियों को वापस लौटा; // इस समारोह के बाहर तात्कालिकता के लिए} // create create function फॉल्स्टर // --------------------------------- -------------------------------------------------- ---------------------------- फंक्शन sendImages Tohhotoshop (डॉक्टर, फ़ोल्डर) {var imgs = doc.allGraphics; Var फ़ाइलनाम = ""; Var img = ""; Var imgType = ""; (Var i = 0; i & lt; imgs.length; i ++) के लिए {if (imgs [i] .itemLink! = Null) {fileName = imgs [i] .itemLink.name; आईएमजी = नया फाइल (फ़ोल्डर + "/" + फाइलनाम); // प्रत्येक छवि instantiated यहाँ imgType = imgs [i] .imageTypeName; // छवि प्रकार यहाँ निर्धारित किया जाता है (.टीआईफ़, .jpg, .png, आदि।) अलर्ट ("फाइल \" "+ फाइलनाम + \" \ "\ n \ tis + + imgType +" फ़ाइल। "); // प्रत्येक छवि फ़ाइल प्रकार स्विच (आईएमजीटीआईपी) के द्वारा यहां नए फ़ोल्डर में निर्यात की गई है, {मामला "जीआईएफ": चेतावनी ("यह स्क्रिप्ट कनवर्ट नहीं कर सकती और जीआईएफ फ़ाइल निर्यात नहीं कर सकती है: \ n \ t" + फाइलनाम + "!);); टूटना; मामले "जेपीजी": मामला "ईपीएस": मामला "पीएनजी": मामला "टीआईएफएफ": बनानेब्रिजटॉक मेसेज (फ़ोल्डर); टूटना; डिफ़ॉल्ट: चेतावनी ("\ tUnlisted छवि प्रकार:" + imgType + "! \ N इस प्रकार स्विच कथन में जोड़ें।"); टूटना; } // स्विच स्टेटमेंट का अंत // // if if statement} // end of for loop} // समारोह के अंत sendImagesToPhotoshop // -------------------- -------------------------------------------------- ----------------------------------------- फ़ंक्शन बनामब्रिजटॉक मेसेज (इमेजेसफ़ोल्डर) {var bt = नया ब्रिजटाक (); Bt.target = "photoshop"; Bt.body = saveNewImageInPhotoshop.toSource () + "(" + imagesFolder.toSource () + ");"; Bt.onError = समारोह (e) {चेतावनी ("त्रुटि:" + ई।); } Bt.onResult = function (resObj) {}; bt.send (); } // समारोह के बने समाप्त करेंब्रिजटाल्कमासेज // ----------------------------------------- -------------------------------------------------- -------------------- // फंक्शन से बनाया गयाब्रिजटॉक मेसेज फ़ंक्शन saveNewImageInPhotoshop (imagePath) {var photoshopDoc = ""; App.displayDialogs = डायलॉग मोड। नो; // फोटोशॉप बयान, PhotoshopDoc.changeMode (ChangeMode.GRAYSCALE) में दखल से स्थिति अलर्ट को रोकता है; // छवि को परिवर्तित करने के लिए GRAYSCALE photoshopDoc.saveAs (नई फ़ाइल (imagePath)); photoshopDoc.close (SaveOptions.DONOTSAVECHANGES); } // फ़ंक्शन सेव्यूईमेज इनफ़ोशोश
यह कसीन सर्विस्की के काम पर आधारित है, जो यहां मिले हैं:ऐसा लगता है कि आप एक वास्तविक छवि फ़ाइल के बजाय फ़ोटोशॉप में फ़ोल्डर चला रहे हैं। वह शायद आपकी समस्या को समझा सकता है;)
लोइक
Comments
Post a Comment