2012-05-30 7 views
5

के साथ इलस्ट्रेटर में फ़ाइल सहेजें I जावास्क्रिप्ट का उपयोग करके इलस्ट्रेटर में एक फ़ाइल सहेजने की कोशिश कर रहा हूं लेकिन मुझे एक त्रुटि मिल रही है।जावास्क्रिप्ट

यहाँ क्या काम करता है, लेकिन मैं क्या चाहते हैं नहीं है:

// save as 
var dest = "~/testme.pdf"; 

saveFileToPDF(dest); 

function saveFileToPDF (dest) { 
    var doc = app.activeDocument; 
    if (app.documents.length > 0) { 
     var saveName = new File (dest); 
     saveOpts = new PDFSaveOptions(); 
     saveOpts.compatibility = PDFCompatibility.ACROBAT5; 
     saveOpts.generateThumbnails = true; 
     saveOpts.preserveEditability = true; 
     alert(saveName); 
     doc.saveAs(saveName, saveOpts); 
    } 
} 

वर "गंतव्य" मेरे Mac उपयोगकर्ता खाते की जड़ तक फ़ाइल बचाता है। मैं बस एक सबफ़ोल्डर में स्रोत दस्तावेज़ के लिए फ़ाइल रिश्तेदार बचाना चाहते हैं, तो मैं यह करने की कोशिश की:

var dest = "exports/testme.pdf"; 

यह ".pdf" के साथ प्रकाश डाला है, ठीक से "निर्यात" अंदर इनपुट का इंतजार फ़ोल्डर एक संवाद को लाता है कि मैंने पहले से ही बनाया है। मैं कुछ टाइप कर सकता हूं और यह बचाएगा, लेकिन यह कोड में निर्दिष्ट फ़ाइल नाम "testme.pdf" को अनदेखा करता है। मैं हाइलाइट किए गए ".pdf" पर "पनीर" टाइप कर सकता हूं, जिसे मैं जानता हूं, और यह "निर्यात" फ़ोल्डर में "cheese.pdf" को सहेज लेगा।

मैं भी कोई भाग्य के साथ इन की कोशिश की:

var dest = "exports/testme"; 
var dest = "/exports/testme.pdf"; 
var dest = "testme.pdf"; 

आदि, आदि

मैं क्या याद आ रही है?

उत्तर

5

एक संवाद को पॉपिंग बिना saveAs का उपयोग करने के लिए, आप वैश्विक संपत्ति userInteractionLevel उपयोग करने की आवश्यकता:

var originalInteractionLevel = userInteractionLevel; 
userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS; 

... 

userInteractionLevel = originalInteractionLevel; 
0

के बाद से आप अपने दस्तावेज़ के सापेक्ष को बचाने के लिए, इस प्रकार है तो पहले अपने वर्तमान दस्तावेज़ के लिए रास्ता ढूंढने चाहते

var path = app.activeDocument.path; 
var dest = path + "/exports/testme.pdf"; 

तुम भी जाँच कर सकते हैं निर्यात फ़ोल्डर मौजूद है या नहीं के रूप में

इस प्रकार है नहीं तो आप स्क्रिप्ट के साथ बना सकते हैं