<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/jive/rss" version="2.0">
  <channel>
    <title>Content in Adobe Community</title>
    <link>/place-content.jspa?containerType=14&amp;userID=null&amp;filterID=contentstatus[published]~objecttype~objecttype[thread]&amp;containerID=3342</link>
    <description>Recent content in Adobe Community</description>
    <language>en</language>
    <pubDate>Fri, 14 Nov 2014 02:55:15 GMT</pubDate>
    <generator>Jive Engage 7.0.0.1  (http://jivesoftware.com/products/)</generator>
    <dc:date>2014-11-14T02:55:15Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>Photoshop Script - WaitForRedraw function doesn't work</title>
      <link>https://forums.adobe.com/thread/1634785</link>
      <description>&lt;!-- [DocumentBodyStart:30dee2a2-ef4d-4a4e-ae51-5cc0654f1d0d] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi there,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I am trying to make a 'palette' show and stay visible and I am using a WaitForRedraw function, but it returns that it is not a function. This is what I have:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;!--[CodeBlockStart:d3b90dac-729b-4333-8cb3-93db1221df8a][excluded]--&gt;&lt;pre class="javascript" name="code"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; function WaitForRedraw(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var eventWait = charIDToTypeID("Wait")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var enumRedrawComplete = charIDToTypeID("RdCm")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var typeState = charIDToTypeID("Stte")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var keyState = charIDToTypeID("Stte")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc = new ActionDescriptor()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc.putEnumerated(keyState, typeState, enumRedrawComplete)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; executeAction(eventWait, desc, DialogModes.NO)
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; app.WaitForRedraw();
&lt;/pre&gt;&lt;!--[CodeBlockEnd:d3b90dac-729b-4333-8cb3-93db1221df8a]--&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;What is the problem? Why is it not working?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:30dee2a2-ef4d-4a4e-ae51-5cc0654f1d0d] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">script</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">javascript</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop-script</category>
      <pubDate>Fri, 14 Nov 2014 02:55:15 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1634785</guid>
      <dc:date>2014-11-14T02:55:15Z</dc:date>
      <clearspace:dateToText>1 hour 46 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Repeat event across all open document tabs</title>
      <link>https://forums.adobe.com/thread/1634613</link>
      <description>&lt;!-- [DocumentBodyStart:46c3de50-e4eb-4ddd-a5b5-24f624b91195] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi there,&lt;br/&gt;I'm trying to have it that hitting a hot key combination would start listening for the next user event (let's say select the background layer) &lt;br/&gt;in my active document and then replicate this event immediately across all other open document&amp;nbsp; tabs.&lt;br/&gt;Not sure how to tackle this problem. Does anyone have an idea?&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:46c3de50-e4eb-4ddd-a5b5-24f624b91195] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">automation.</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">event listeners</category>
      <pubDate>Thu, 13 Nov 2014 22:17:45 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1634613</guid>
      <dc:date>2014-11-13T22:17:45Z</dc:date>
      <clearspace:dateToText>6 hours 24 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Difference between variable UI layout and add() method UI layout?</title>
      <link>https://forums.adobe.com/thread/1634780</link>
      <description>&lt;!-- [DocumentBodyStart:d6515607-043b-47e4-adf1-42f18446f3df] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi there,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;What is the difference between a variable UI layout and add() method UI layout?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Variable UI layout is something like this:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;!--[CodeBlockStart:c2350521-6dec-47ae-b9f2-3b24321dff3b][excluded]--&gt;&lt;pre class="javascript" name="code"&gt;
var windowResource = "palette {&amp;nbsp; \
&amp;nbsp;&amp;nbsp;&amp;nbsp; orientation: 'column', \
&amp;nbsp;&amp;nbsp;&amp;nbsp; alignChildren: ['fill', 'top'],&amp;nbsp; \
&amp;nbsp;&amp;nbsp;&amp;nbsp; preferredSize:[300, 130], \
&amp;nbsp;&amp;nbsp;&amp;nbsp; text: 'ScriptUI Window - palette',&amp;nbsp; \
&amp;nbsp;&amp;nbsp;&amp;nbsp; margins:15, \
&amp;nbsp;&amp;nbsp;&amp;nbsp; \
&amp;nbsp;&amp;nbsp;&amp;nbsp; bottomGroup: Group{ \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cd: Checkbox { text:'Checkbox value', value: true }, \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cancelButton: Button { text: 'Cancel', properties:{name:'cancel'}, size: [120,24], alignment:['right', 'center'] }, \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; applyButton: Button { text: 'Apply', properties:{name:'ok'}, size: [120,24], alignment:['right', 'center'] }, \
&amp;nbsp;&amp;nbsp;&amp;nbsp; }\
}";

var win = new Window(windowResource);

win.show();
&lt;/pre&gt;&lt;!--[CodeBlockEnd:c2350521-6dec-47ae-b9f2-3b24321dff3b]--&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;add() method UI layout is something like this:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;!--[CodeBlockStart:fa85fcaa-9a57-4ae3-9734-e59d96106a43][excluded]--&gt;&lt;pre class="javascript" name="code"&gt;
var w = new Window('dialog', 'Random Number Generator');
var btn_group = w.add('group'),
&amp;nbsp;&amp;nbsp;&amp;nbsp; btn_ok = btn_group.add('button', undefined, 'Ok');

w.show();
&lt;/pre&gt;&lt;!--[CodeBlockEnd:fa85fcaa-9a57-4ae3-9734-e59d96106a43]--&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks!&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:d6515607-043b-47e4-adf1-42f18446f3df] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">script</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">javascript</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop-script</category>
      <pubDate>Thu, 13 Nov 2014 22:11:43 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1634780</guid>
      <dc:date>2014-11-13T22:11:43Z</dc:date>
      <clearspace:dateToText>6 hours 30 minutes ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Create Script to Append a Filename as Part of an Action</title>
      <link>https://forums.adobe.com/thread/1634567</link>
      <description>&lt;!-- [DocumentBodyStart:1dc79339-212c-45a1-af96-e38e512aa9a8] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;br/&gt;I have an image, and I have a handy action that saves it, crops it, saves it again, crops it differently, and saves it one more time. Right now, I have two options for those saves--I can either save each crop in a separate folder and then batch rename, or I have the action pause as it saves so I can customize the filename. What I would like to do is create a script (or, if there's an easier way), to append that filename so it will all just save in the same folder without my having to do it manually.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Essentially I start with the filename: "TEST"&lt;/p&gt;&lt;p&gt;for the first part, it I save as "TEST"&lt;/p&gt;&lt;p&gt;for the second save, I want it to save as "TEST_P1"&lt;/p&gt;&lt;p&gt;for the third save, I want it to save as "TEST_P2"&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'm brand new to scripting, and my programming background is with Java and way in my past, so it all feels a bit unfamiliar. If anyone could help me with this, I'd really appreciate it!&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:1dc79339-212c-45a1-af96-e38e512aa9a8] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">scripting</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">append filename</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">script action</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">scripting for beginners</category>
      <pubDate>Thu, 13 Nov 2014 21:55:41 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1634567</guid>
      <dc:date>2014-11-13T21:55:41Z</dc:date>
      <clearspace:dateToText>6 hours 46 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Changes to Photoshop CS5 and Applescript</title>
      <link>https://forums.adobe.com/thread/632681</link>
      <description>&lt;!-- [DocumentBodyStart:803272b6-0cf1-4817-8e64-a264c55de267] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;div class="jive-thread-post"&gt;&lt;div class="jive-thread-post-body"&gt;&lt;div class="jive-thread-post-body-container"&gt;&lt;div class="jive-thread-post-message"&gt;&lt;div&gt;&lt;p&gt;Looks like there are some major Applescript changes to CS5, which is unwelcome for anyone with existing scripts. From what I can see, the difference (that affect me anyway) are&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;a) PSCS5 seems to dislike referring to files with "as alias" and removing this from my scripts helps them to work, whereas other apps need it, as did previous&lt;/p&gt;&lt;p&gt;b) apparently script support for referring to the currently document has changed. "if visible layer of current document is true then..." no longer works, nor do document 0, document 1, etc. Anyone know how to refer to the current document?&lt;/p&gt;&lt;p&gt;c) support for history doesn't seem to be there anymore. I cannot seem to use AS commands like, "set myState to history states as list" or "set current history state to history state newState" were awesome for my workflow, but are they impossible to achieve now?&lt;/p&gt;&lt;p&gt;d) One more. The important "set docref to make new document with properties {height: 150, width: 150}" is also broken. How would one make a new document in Applescript?&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div class="jive-thread-reply-postauthor jive-thread-reply&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jive-thread-reply-self&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"&gt;&lt;div class="jive-thread-reply-body"&gt;&lt;div class="jive-thread-reply-body-container"&gt;&lt;div class="jive-thread-reply-message"&gt;&lt;div&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'd appreciate any help you could give me in updating my scripts&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:803272b6-0cf1-4817-8e64-a264c55de267] --&gt;</description>
      <pubDate>Thu, 13 Nov 2014 21:04:42 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/632681</guid>
      <dc:date>2014-11-13T21:04:42Z</dc:date>
      <clearspace:dateToText>7 hours 37 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>79</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Adding options to a button?</title>
      <link>https://forums.adobe.com/thread/1634136</link>
      <description>&lt;!-- [DocumentBodyStart:0beb140c-5dd5-4c37-b0f3-b65217034991] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p style="margin: 0 0 1em; font-size: 14px; color: #000000; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; background: #ffffff;"&gt;I've got the following code:&lt;/p&gt;&lt;!--[CodeBlockStart:b972c060-ef71-43c1-ac10-59a18d40955f][excluded]--&gt;&lt;pre class="javascript" name="code"&gt;
obj = w.add('panel', [45,50,350,135], 'Title');
&lt;/pre&gt;&lt;!--[CodeBlockEnd:b972c060-ef71-43c1-ac10-59a18d40955f]--&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin: 0 0 1em; font-size: 14px; color: #000000; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; background: #ffffff;"&gt;How do I add options, such as &lt;code style="padding: 1px 5px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; background: #eeeeee;"&gt;size&lt;/code&gt;, &lt;code style="padding: 1px 5px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; background: #eeeeee;"&gt;margins&lt;/code&gt;, &lt;code style="padding: 1px 5px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; background: #eeeeee;"&gt;alignChildren&lt;/code&gt; to this panel?&lt;/p&gt;&lt;p style="margin: 0 0 1em; font-size: 14px; color: #000000; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; background: #ffffff;"&gt;If I would do this in Script UI I'de do something like this:&lt;/p&gt;&lt;!--[CodeBlockStart:be359fb9-0810-47f7-8fc7-b9960a1b119f][excluded]--&gt;&lt;pre class="javascript" name="code"&gt;
var layout = "dialog {&amp;nbsp; \
&amp;nbsp;&amp;nbsp;&amp;nbsp; text: 'Title',&amp;nbsp; \
&amp;nbsp;&amp;nbsp;&amp;nbsp; orientation: 'column', \
&amp;nbsp;&amp;nbsp;&amp;nbsp; alignChildren: ['fill', 'top'],&amp;nbsp; \
&amp;nbsp;&amp;nbsp;&amp;nbsp; preferredSize:[340, 135], \
&amp;nbsp;&amp;nbsp;&amp;nbsp; margins: 15, \
&amp;nbsp;&amp;nbsp;&amp;nbsp; \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; calculator: Panel { \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text: 'Sub-Title', \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; orientation: 'row', \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alignChildren: 'fill', \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; margins: 15, \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } \
&amp;nbsp;&amp;nbsp;&amp;nbsp; }",
&lt;/pre&gt;&lt;!--[CodeBlockEnd:be359fb9-0810-47f7-8fc7-b9960a1b119f]--&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="min-height: 8pt; padding: 0px; margin: 0 0 1em; font-size: 14px; color: #000000; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; background: #ffffff;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0 0 1em; font-size: 14px; color: #000000; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; background: #ffffff;"&gt;But since I'm developing for Photoshop CC 2014, I can't use this syntax.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:0beb140c-5dd5-4c37-b0f3-b65217034991] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">script</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">javascript</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">scriptui</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop-script</category>
      <pubDate>Thu, 13 Nov 2014 20:19:20 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1634136</guid>
      <dc:date>2014-11-13T20:19:20Z</dc:date>
      <clearspace:dateToText>8 hours 22 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>how to get any location of image color data?</title>
      <link>https://forums.adobe.com/thread/1634384</link>
      <description>&lt;!-- [DocumentBodyStart:ea765a93-ad99-453f-be6b-906421270dfd] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;// =======================================================&lt;/p&gt;&lt;p&gt;var idsetd = charIDToTypeID( "setd" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc1197 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idnull = charIDToTypeID( "null" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ref958 = new ActionReference();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idChnl = charIDToTypeID( "Chnl" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idfsel = charIDToTypeID( "fsel" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ref958.putProperty( idChnl, idfsel );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1197.putReference( idnull, ref958 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idT = charIDToTypeID( "T&amp;nbsp;&amp;nbsp; " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc1198 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idTop = charIDToTypeID( "Top " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idPxl = charIDToTypeID( "#Pxl" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1198.putUnitDouble( idTop, idPxl, 1096.000000 );//i input Coordinate location data&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idLeft = charIDToTypeID( "Left" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idPxl = charIDToTypeID( "#Pxl" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1198.putUnitDouble( idLeft, idPxl, 2188.000000 );//i input Coordinate location data&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idBtom = charIDToTypeID( "Btom" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idPxl = charIDToTypeID( "#Pxl" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1198.putUnitDouble( idBtom, idPxl, 1097.000000 );//i input Coordinate location data&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idRght = charIDToTypeID( "Rght" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idPxl = charIDToTypeID( "#Pxl" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1198.putUnitDouble( idRght, idPxl, 2189.000000 );//i input Coordinate location data&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idRctn = charIDToTypeID( "Rctn" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1197.putObject( idT, idRctn, desc1198 );&lt;/p&gt;&lt;p&gt;executeAction( idsetd, desc1197, DialogModes.NO );&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;// =======================================================&lt;/p&gt;&lt;p&gt;var idslct = charIDToTypeID( "slct" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc1199 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idnull = charIDToTypeID( "null" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ref959 = new ActionReference();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ideyedropperTool = stringIDToTypeID( "eyedropperTool" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ref959.putClass( ideyedropperTool );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1199.putReference( idnull, ref959 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var iddontRecord = stringIDToTypeID( "dontRecord" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1199.putBoolean( iddontRecord, true );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idforceNotify = stringIDToTypeID( "forceNotify" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1199.putBoolean( idforceNotify, true );&lt;/p&gt;&lt;p&gt;executeAction( idslct, desc1199, DialogModes.NO );&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;// =======================================================&lt;/p&gt;&lt;p&gt;var idsetd = charIDToTypeID( "setd" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc1200 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idnull = charIDToTypeID( "null" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ref960 = new ActionReference();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idClr = charIDToTypeID( "Clr " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idFrgC = charIDToTypeID( "FrgC" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ref960.putProperty( idClr, idFrgC );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1200.putReference( idnull, ref960 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idT = charIDToTypeID( "T&amp;nbsp;&amp;nbsp; " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc1201 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idCyn = charIDToTypeID( "Cyn " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1201.putDouble( idCyn, 55.290000 );//i want to get clor data, c=?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idMgnt = charIDToTypeID( "Mgnt" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1201.putDouble( idMgnt, 54.510000 );//i want to get clor data, m=?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idYlw = charIDToTypeID( "Ylw " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1201.putDouble( idYlw, 69.410000 );//i want to get clor data, y=?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idBlck = charIDToTypeID( "Blck" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1201.putDouble( idBlck, 43.140000 );////i want to get clor data, k=?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idCMYC = charIDToTypeID( "CMYC" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1200.putObject( idT, idCMYC, desc1201 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idSrce = charIDToTypeID( "Srce" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc1200.putString( idSrce, """eyeDropperSample""" );&lt;/p&gt;&lt;p&gt;executeAction( idsetd, desc1200, DialogModes.NO );&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;i draw Rectangle (1px x 1px)...i want to get any location of image color data, Can be achieved by javascript? pls help me&lt;a href="https://forums.adobe.com/servlet/JiveServlet/showImage/2-6926203-695088/Untitled-2.jpg"&gt;&lt;img alt="Untitled-2.jpg" class="jive-image image-1" height="221" src="https://forums.adobe.com/servlet/JiveServlet/downloadImage/2-6926203-695088/Untitled-2.jpg" style="height: auto;" width="320"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:ea765a93-ad99-453f-be6b-906421270dfd] --&gt;</description>
      <pubDate>Thu, 13 Nov 2014 20:00:48 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1634384</guid>
      <dc:date>2014-11-13T20:00:48Z</dc:date>
      <clearspace:dateToText>8 hours 41 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>App.open options when opening a newer version photoshop file by an older version of photoshop, App.open options when opening a newer version photoshop file by an older version of photoshop</title>
      <link>https://forums.adobe.com/thread/1634436</link>
      <description>&lt;!-- [DocumentBodyStart:d29afe9b-15bd-4925-9351-d1890c9e31cb] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;So, where I work, we have a script that handles all of our heavy lifting.&amp;nbsp; This script is running on CS6, and all of the users are running CC 2014.&amp;nbsp; Now when the CS6 machine opens a document with any type of vector object from CC 2014 it throws a dialog box asking if I want to flatten, cancel, or Keep layers.&amp;nbsp; I do have DISPLAYDIALOGS.NO set at the top of this script.&amp;nbsp; &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I under stand scripting quite well, but I'm just not sure if there are app.open options to tell this to keep layers.&amp;nbsp; Also, I'm pretty sure a try catch block will not work, becuase this dialog appears before the image is actually pixels on the screen.&amp;nbsp; &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;When the script generates our web images I've tried to flatten the document right after its opened and I still see this dialog.&amp;nbsp; Any help would be super appreciated. &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thank you!&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:d29afe9b-15bd-4925-9351-d1890c9e31cb] --&gt;</description>
      <pubDate>Thu, 13 Nov 2014 19:53:23 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1634436</guid>
      <dc:date>2014-11-13T19:53:23Z</dc:date>
      <clearspace:dateToText>8 hours 48 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Photoshop Script - access UI layout within variable?</title>
      <link>https://forums.adobe.com/thread/1633852</link>
      <description>&lt;!-- [DocumentBodyStart:fb66a718-cebc-4af5-a398-fe00430386af] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi there,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I've got the following variable as a UI layout of a window, I am trying to access &lt;strong&gt;btn_one&lt;/strong&gt; button, but with no success.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;!--[CodeBlockStart:26622223-7df9-497b-8a95-3538ce374979][excluded]--&gt;&lt;pre class="javascript" name="code"&gt;
var w = new Window("dialog {&amp;nbsp; \
&amp;nbsp;&amp;nbsp;&amp;nbsp; margins: 15, \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; btn_one: Button { \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text: 'Button', \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size: [100,25], \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alignment:['right', 'center'] \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, \
&amp;nbsp;&amp;nbsp;&amp;nbsp; }");
&lt;/pre&gt;&lt;!--[CodeBlockEnd:26622223-7df9-497b-8a95-3538ce374979]--&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Any help on achieving this? I need tried the following, it doesn't work.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;!--[CodeBlockStart:58f4ba4e-c7d0-4c65-808a-13d8563365a1][excluded]--&gt;&lt;pre class="javascript" name="code"&gt;
btn_one.onClick = function(){
}
&lt;/pre&gt;&lt;!--[CodeBlockEnd:58f4ba4e-c7d0-4c65-808a-13d8563365a1]--&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:fb66a718-cebc-4af5-a398-fe00430386af] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">script</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop-script</category>
      <pubDate>Thu, 13 Nov 2014 19:36:25 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1633852</guid>
      <dc:date>2014-11-13T19:36:25Z</dc:date>
      <clearspace:dateToText>9 hours 5 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>adjusting a copy/paste layer</title>
      <link>https://forums.adobe.com/thread/1633890</link>
      <description>&lt;!-- [DocumentBodyStart:b4b2c1ab-b6ed-445d-b39b-2a1196d65693] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;ok so I'm trying to copy past a picture onto another picture to replace a sad face to a happy face but i can't resize the layer or adjust it in any way. does anyone know how to do that?&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:b4b2c1ab-b6ed-445d-b39b-2a1196d65693] --&gt;</description>
      <pubDate>Thu, 13 Nov 2014 17:18:28 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1633890</guid>
      <dc:date>2014-11-13T17:18:28Z</dc:date>
      <clearspace:dateToText>11 hours 23 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Watch Folder</title>
      <link>https://forums.adobe.com/thread/1093857</link>
      <description>&lt;!-- [DocumentBodyStart:49ea37a9-93f6-44d5-804d-ac68a140b6dc] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hello,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Is there a way to have Photoshop watch a folder for new images and run some actions on the newly added files - after which removing the original from that folder.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;I need to automate the follwoing:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Image is added to watch folder&lt;/p&gt;&lt;p&gt;Photoshop &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Detects new image&lt;/li&gt;&lt;li&gt;Opens image&lt;/li&gt;&lt;li&gt;Runs actions&lt;/li&gt;&lt;li&gt;Saves to a new directory&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;File is deleted from watch folder.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I am on Mac 10.7 and have Automator at my disposal. I'm also familiar with scripting but not specifically for Photoshop so I prefer scripting would be the last resort.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Any help or guidance is greatly appreciated.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thank you!&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;V&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:49ea37a9-93f6-44d5-804d-ac68a140b6dc] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">batch</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">automate</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">watch_folder</category>
      <pubDate>Thu, 13 Nov 2014 17:16:38 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1093857</guid>
      <dc:date>2014-11-13T17:16:38Z</dc:date>
      <clearspace:dateToText>11 hours 25 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>6</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>weight of gif animation changes</title>
      <link>https://forums.adobe.com/thread/1634327</link>
      <description>&lt;!-- [DocumentBodyStart:76327776-2623-4382-9ca5-aac7733f31ef] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;span style="color: #222222; font-size: 12pt; font-family: arial;"&gt;When I "save for web" a gif animation in photoshop its optimized at 72k.&amp;nbsp; I then check it in file manager and its 102k???!!!&amp;nbsp; I've made many web banners this is the first time it's ever done this.&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:76327776-2623-4382-9ca5-aac7733f31ef] --&gt;</description>
      <pubDate>Thu, 13 Nov 2014 16:44:38 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1634327</guid>
      <dc:date>2014-11-13T16:44:38Z</dc:date>
      <clearspace:dateToText>11 hours 57 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Photoshop Script - Javascript: Returning value of input field?</title>
      <link>https://forums.adobe.com/thread/1633304</link>
      <description>&lt;!-- [DocumentBodyStart:aaefc5a8-57e0-436a-a5c7-8d12ca66ee5a] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi there,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I've got the following input "edittext" field being rendered in a window. How can I return the value that has been input in it?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;cal_char = cal.add('edittext', [25,40,135,60], '1');&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I have tried &lt;strong&gt;cal_char.value&lt;/strong&gt;, but it doesn't work.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Any help?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks!&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:aaefc5a8-57e0-436a-a5c7-8d12ca66ee5a] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">javascript</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">scripting</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop script</category>
      <pubDate>Thu, 13 Nov 2014 00:14:45 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1633304</guid>
      <dc:date>2014-11-13T00:14:45Z</dc:date>
      <clearspace:dateToText>1 day 4 hours ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>doc.layerSets.getByName fails randomly</title>
      <link>https://forums.adobe.com/thread/1633137</link>
      <description>&lt;!-- [DocumentBodyStart:814912c1-fdd3-4e54-8846-055f490e73cd] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;after upgrading from CS6 to CC last week one of our scripts broke. Basically the script opens multiple files and merges them into a single one, during that several calls to&lt;/p&gt;&lt;p&gt;&lt;strong&gt;doc.layerSets.getByName("layerName") &lt;/strong&gt;are made (The layer set name is "ANIMATION" and it's one of four sets). At some point this call will fail with a message like: "General Photoshop error. The function is possibly not available in this Version" (Translated from German, so it might not be this exact message). It seems to fail randomly depending on which files we run the script with and I can't make sense of it at all. Is anyone else seeing this?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Any help would be appreciated.&lt;/p&gt;&lt;p&gt;Michael&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:814912c1-fdd3-4e54-8846-055f490e73cd] --&gt;</description>
      <pubDate>Wed, 12 Nov 2014 14:28:08 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1633137</guid>
      <dc:date>2014-11-12T14:28:08Z</dc:date>
      <clearspace:dateToText>1 day 14 hours ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>ESTK: 'select including brace' doesnt't work</title>
      <link>https://forums.adobe.com/thread/1632390</link>
      <description>&lt;!-- [DocumentBodyStart:ac246a37-6a80-4046-b63e-271795ae8c4f] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;On Adobe ExtendScript Toolkit when I want to select all the code inside a brace, I have 2 options that just don't work. &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;- select to brace &lt;/p&gt;&lt;p&gt;- select including brace &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;this makes me and any script work a lot slower. &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'm using windows7 and ESTK CC (also the same problem exist in CS6)&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:ac246a37-6a80-4046-b63e-271795ae8c4f] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">estk</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">select_including_brace</category>
      <pubDate>Tue, 11 Nov 2014 14:04:48 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1632390</guid>
      <dc:date>2014-11-11T14:04:48Z</dc:date>
      <clearspace:dateToText>2 days 15 hours ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Can you look up a Hard Drive name in Extendscript?</title>
      <link>https://forums.adobe.com/thread/1629093</link>
      <description>&lt;!-- [DocumentBodyStart:f8502a8d-9ca7-4b4a-a56c-27ded90da407] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I'm running:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;alert(Folder.desktop.fsName)&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Which brings up:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;/usr/home/&amp;lt;&amp;lt;userName&amp;gt;&amp;gt;/Desktop&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I need it to bring up:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;lt;&amp;lt;hardDriveName&amp;gt;&amp;gt;/usr/home/&amp;lt;&amp;lt;userName&amp;gt;&amp;gt;/Desktop&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ex. Macintosh HD/usr/home/tferguson/Desktop&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Is this possible with Javascript/Extendscript?&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:f8502a8d-9ca7-4b4a-a56c-27ded90da407] --&gt;</description>
      <pubDate>Tue, 11 Nov 2014 13:03:41 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1629093</guid>
      <dc:date>2014-11-11T13:03:41Z</dc:date>
      <clearspace:dateToText>2 days 16 hours ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Photoshop Script  Black and White Raster to Vector</title>
      <link>https://forums.adobe.com/thread/1632134</link>
      <description>&lt;!-- [DocumentBodyStart:be64d916-a591-4814-87df-e0af65506c71] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I do not have AI Adobe for I do not want to spend the money and have to learn an other complex Adobe application. I'm no artist either.&amp;nbsp; However at rimes I wanted&amp;nbsp; to have AI live trace feature to change black and white line drawing into vector graphics. AI creates EPS files with embedded vectors. And can export the vector to Photoshop.&amp;nbsp; Though Photoshop opens EPS as raster layers I find that EPS file created from tracing black and white lines and artwork with programs like potrace that use curves to create black vector shapes. That when these are opened in Photoshop as Black layer with transparency. When these layers transparency are loaded as a selection and the selections converted to path. I find the path are extremely good.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Potrace is a cross platform open source program packages available for many operating systems. Windows (32 bit) and (64 bit), Mac OS X (Intel), Mac OS X (universal),Linux (32 bit) and (64 bit), Linux (Alpha), Linux (Sparc64), Sun Solaris (Sparc), Sun Solaris (i386), Sun Solaris (x86_64), FreeBSD (i386), NetBSD (i386), OpenBSD (i386), AIX and AROS (i386). Potrace is a command line command. So it can be use started with options and passed a file from bat files and scripts. Potrace requires No instillation. All the needed potrace requited files just need to be place into a folder and potrace run from that folder as the current directory.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;So a created a Photoshop script that more or less uses potrace like a Photoshop Plug. The script define a custom shape for the current active document using potrace and add a new shape layer using the new defined custom shape as the top layer. The script also toggle off the other visible layers so you just see the shape layer.&amp;nbsp; You can use alt click on the shape layer visibility icon to toggle the other layer visibility so you can see how well it matches the document.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'm a windows user so the Photoshop script I wrote though in javascript will most likely only run on a windows platform because of my use of windows features its command line start command and file system conventions. I'm quite sure a Mac variant could created. Here is screen capture showing how well the defile shape&amp;nbsp; matches up and a link to the script. You would need to download potrace to use it and fix the vars in the script that point to potrace. &lt;a class="jive-link-external-small" href="http://www.mouseprints.net/old/dpr/potrace.jsx" rel="nofollow"&gt;http://www.mouseprints.net/old/dpr/potrace.jsx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://forums.adobe.com/servlet/JiveServlet/showImage/2-6918180-693870/Capture.jpg"&gt;&lt;img alt="Capture.jpg" class="jive-image image-1" height="380" src="https://forums.adobe.com/servlet/JiveServlet/downloadImage/2-6918180-693870/900-380/Capture.jpg" style="height: 262px; width: 620px;" width="900"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://forums.adobe.com/servlet/JiveServlet/showImage/2-6918180-693871/Clipboard1.jpg"&gt;&lt;img alt="Clipboard1.jpg" class="jive-image image-2" height="899" src="https://forums.adobe.com/servlet/JiveServlet/downloadImage/2-6918180-693871/414-899/Clipboard1.jpg" style="height: 1345px; width: 620px;" width="414"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:be64d916-a591-4814-87df-e0af65506c71] --&gt;</description>
      <pubDate>Tue, 11 Nov 2014 06:02:20 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1632134</guid>
      <dc:date>2014-11-11T06:02:20Z</dc:date>
      <clearspace:dateToText>2 days 23 hours ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Photoshop CS6 using javaScript to truncate alpha channel name</title>
      <link>https://forums.adobe.com/thread/1631088</link>
      <description>&lt;!-- [DocumentBodyStart:fda05244-c8b4-4949-bf7a-2b8723903241] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p style="font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;Hello,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;I'm a production artist and I work with PSD files that were created in Adobe Scene7 Image Authoring Tool. These PSDs contain a background layer along with 1-20 alpha channels. My script has to make a new blank layer for every alpha channel in the document. Then it fills the new layer with light gray. So far, my code accomplishes this. However, I'd like to apply the name of the alpha channel to the layer, but I need the name to be truncated. Every alpha channel starts with one or more characters followed by a backslash and then finishes with one or more characters. Here's an example:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;An alpha channel might be named:&amp;nbsp; &lt;strong&gt;Floor\floor&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;In this example I need my layer name to be just:&amp;nbsp; &lt;strong&gt;floor&lt;/strong&gt;. This means all character to the left of the backslash, including the backslash itself needs to be discarded. I was using the subSring() statement to do this. When I try to step through the code, line by line in ExtendScript, I immediately get an error that says &lt;strong&gt;Unterminated String Constant&lt;/strong&gt; and Line 31 of my code is highlighted. I suspect it doesn't like the way I wrote the backslash character, although I surrounded it in double quotes to define it as a string.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;Can anyone tell me why I'm getting this error?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;Below is my code with lots of comments to walk you through the process. I wrote where the error occurs in red type.&lt;/p&gt;&lt;p style="font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;I'm new to JavaScript so I'm not sure my &lt;span style="font-family: 'courier new', courier;"&gt;&lt;strong&gt;while&lt;/strong&gt;&lt;/span&gt; loop is accurate.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; font-size: 12px; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif; color: #333333; background-color: #f8f8f8;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;#target photoshop &lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// The #target photoshop makes the script run in PS.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// declare variable to contain the active document&lt;/span&gt;&lt;/p&gt;&lt;p&gt;var myDoc=app.activeDocument;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// declare variable to contain the number of alpha channels, excluding the RGB channels&lt;/span&gt;&lt;/p&gt;&lt;p&gt;var alphaChan = myDoc.channels.length - 3;&lt;/p&gt;&lt;p&gt;alert(alphaChan + " alpha channels exist");&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// create loop to make new layers based on number of alpha channels, fill layer with gray and apply alpha channel name to new layer&lt;/span&gt;&lt;/p&gt;&lt;p&gt;for (a=0 ; a&amp;lt;alphaChan ; a+=1){&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// make new blank layer&lt;/span&gt;&lt;/p&gt;&lt;p&gt;myDoc.artLayers.add();&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// fill blank layer with gray&lt;/span&gt;&lt;/p&gt;&lt;p&gt;var color = new SolidColor();&lt;/p&gt;&lt;p&gt;color.rgb.red = 161;&lt;/p&gt;&lt;p&gt;color.rgb.green = 161;&lt;/p&gt;&lt;p&gt;color.rgb.blue= 161;&lt;/p&gt;&lt;p&gt;myDoc.selection.fill(color);&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;//variable stores alpha channel name&lt;/span&gt;&lt;/p&gt;&lt;p&gt;var alphaName = myDoc.channels[3+a];&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// variable stores lenght of alpha channel name&lt;/span&gt;&lt;/p&gt;&lt;p&gt;var lz = alphaName.length;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// declare index variable to initialize position of 1st&amp;nbsp; character of alpha channel name &lt;/span&gt;&lt;/p&gt;&lt;p&gt;var x= 0 ;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// truncate alpha channel name by removing all characters preceding the "\" symbol&lt;/span&gt;&lt;/p&gt;&lt;p&gt;while (alphaName.subString(x) != "\"){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style="color: #ff6600;"&gt;&lt;em&gt;(ExtendScript gives an error for this line and highlights the backslash and surrounding quotation marks)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; alphaName = alphaName.subString((x+1),z);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; x+=1;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; z-=1;&lt;/p&gt;&lt;p&gt;return alphaName;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;// remove the backslash from alpha channel name&lt;/span&gt;&lt;/p&gt;&lt;p&gt;alphaName = alphaName.subString((x+1),z);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;span style="color: #008000;"&gt;//&amp;nbsp; apply truncated alpha channel name to corresponding layer&lt;/span&gt;&lt;/p&gt;&lt;p&gt;myDoc.artLayers[a].name = alphaName;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:fda05244-c8b4-4949-bf7a-2b8723903241] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">extendscript</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">java-script</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">extend script</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop javascript</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">javascript errors</category>
      <pubDate>Tue, 11 Nov 2014 01:10:22 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1631088</guid>
      <dc:date>2014-11-11T01:10:22Z</dc:date>
      <clearspace:dateToText>3 days 4 hours ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>How batch export layers to files png in cc</title>
      <link>https://forums.adobe.com/thread/1631355</link>
      <description>&lt;!-- [DocumentBodyStart:53ba5742-9471-478a-be04-f527e9d3c7ce] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I am having trouble with an export layers to files script i am wanting to batch export layer to png and this script i have seems to be the one i want although every time i run the script i get this error message "could not complete the action&amp;nbsp; since the destination folder doesn't exist" the script required me to hard code my destination path the path i require is "C:/Users/Tim/Desktop/Backdrops/png/" I am not completely sure why its stating it does not exist any help would be greatly appreciated. i have tried to contact the creator but the post it was on was very old.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;// enable double clicking from the Macintosh Finder or the Windows Explorer&lt;/p&gt;&lt;p&gt;#target photoshop&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;//=================================================================&lt;/p&gt;&lt;p&gt;// Globals&lt;/p&gt;&lt;p&gt;//=================================================================&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;var exportPath = "/Users/pedr/Documents/Work/Clients/Pathways/Learning_Hub/Source/Comics/export";&lt;/p&gt;&lt;p&gt;exportPath = exportPath + '/layers';&lt;/p&gt;&lt;p&gt;// UI strings to be localized&lt;/p&gt;&lt;p&gt;var strTitle = localize("$$$/JavaScripts/X2L/Title=X2L");&lt;/p&gt;&lt;p&gt;var strButtonRun = localize("$$$/JavaScripts/X2L/Run=Run");&lt;/p&gt;&lt;p&gt;var strButtonCancel = localize("$$$/JavaScripts/X2L/Cancel=Cancel");&lt;/p&gt;&lt;p&gt;var strHelpText = localize("$$$/JavaScripts/X2L/Help=Please specify the format and location for saving each layer as a file.");&lt;/p&gt;&lt;p&gt;var strLabelDestination = localize("$$$/JavaScripts/X2L/Destination=Destination:");&lt;/p&gt;&lt;p&gt;var strButtonBrowse = localize("$$$/JavaScripts/X2L/Browse=&amp;amp;Browse...");&lt;/p&gt;&lt;p&gt;var strLabelFileNamePrefix = localize("$$$/JavaScripts/X2L/FileNamePrefix=File Name Prefix:");&lt;/p&gt;&lt;p&gt;var strCheckboxVisibleOnly = localize("$$$/JavaScripts/X2L/VisibleOnly=&amp;amp;Visible Layers Only");&lt;/p&gt;&lt;p&gt;var strLabelFileType = localize("$$$/JavaScripts/X2L/FileType=File Type:");&lt;/p&gt;&lt;p&gt;var strCheckboxIncludeICCProfile = localize("$$$/JavaScripts/X2L/IncludeICC=&amp;amp;Include ICC Profile");&lt;/p&gt;&lt;p&gt;var strJPEGOptions = localize("$$$/JavaScripts/X2L/JPEGOptions=JPEG Options:");&lt;/p&gt;&lt;p&gt;var strLabelQuality = localize("$$$/JavaScripts/X2L/Quality=Quality:");&lt;/p&gt;&lt;p&gt;var strCheckboxMaximizeCompatibility = localize("$$$/JavaScripts/X2L/Maximize=&amp;amp;Maximize Compatibility");&lt;/p&gt;&lt;p&gt;var strTIFFOptions = localize("$$$/JavaScripts/X2L/TIFFOptions=TIFF Options:");&lt;/p&gt;&lt;p&gt;var strLabelImageCompression = localize("$$$/JavaScripts/X2L/ImageCompression=Image Compression:");&lt;/p&gt;&lt;p&gt;var strNone = localize("$$$/JavaScripts/X2L/None=None");&lt;/p&gt;&lt;p&gt;var strPDFOptions = localize("$$$/JavaScripts/X2L/PDFOptions=PDF Options:");&lt;/p&gt;&lt;p&gt;var strLabelEncoding = localize("$$$/JavaScripts/X2L/Encoding=Encoding:");&lt;/p&gt;&lt;p&gt;var strTargaOptions = localize("$$$/JavaScripts/X2L/TargaOptions=Targa Options:");&lt;/p&gt;&lt;p&gt;var strLabelDepth = localize("$$$/JavaScripts/X2L/Depth=Depth:");&lt;/p&gt;&lt;p&gt;var strRadiobutton16bit = localize("$$$/JavaScripts/X2L/Bit16=16bit");&lt;/p&gt;&lt;p&gt;var strRadiobutton24bit = localize("$$$/JavaScripts/X2L/Bit24=24bit");&lt;/p&gt;&lt;p&gt;var strRadiobutton32bit = localize("$$$/JavaScripts/X2L/Bit32=32bit");&lt;/p&gt;&lt;p&gt;var strBMPOptions = localize("$$$/JavaScripts/X2L/BMPOptions=BMP Options:");&lt;/p&gt;&lt;p&gt;var strAlertSpecifyDestination = localize("$$$/JavaScripts/X2L/SpecifyDestination=Please specify destination.");&lt;/p&gt;&lt;p&gt;var strAlertDestinationNotExist = localize("$$$/JavaScripts/X2L/DestionationDoesNotExist=Destination does not exist.");&lt;/p&gt;&lt;p&gt;var strTitleSelectDestination = localize("$$$/JavaScripts/X2L/SelectDestination=Select Destination");&lt;/p&gt;&lt;p&gt;var strAlertDocumentMustBeOpened = localize("$$$/JavaScripts/X2L/OneDocument=You must have a document open to export!");&lt;/p&gt;&lt;p&gt;var strAlertNeedMultipleLayers = localize("$$$/JavaScripts/X2L/NoLayers=You need a document with multiple layers to export!");&lt;/p&gt;&lt;p&gt;var strAlertWasSuccessful = localize("$$$/JavaScripts/X2L/Success= was successful.");&lt;/p&gt;&lt;p&gt;var strUnexpectedError = localize("$$$/JavaScripts/X2L/Unexpected=Unexpected error");&lt;/p&gt;&lt;p&gt;var strMessage = localize("$$$/JavaScripts/X2L/Message=X2L");&lt;/p&gt;&lt;p&gt;var stretQuality = localize( "$$$/locale_specific/JavaScripts/X2L/ETQualityLength=30" );&lt;/p&gt;&lt;p&gt;var stretDestination = localize( "$$$/locale_specific/JavaScripts/X2L/ETDestinationLength=160" );&lt;/p&gt;&lt;p&gt;var strddFileType = localize( "$$$/locale_specific/JavaScripts/X2L/DDFileType=100" );&lt;/p&gt;&lt;p&gt;var strpnlOptions = localize( "$$$/locale_specific/JavaScripts/X2L/PNLOptions=100" );&lt;/p&gt;&lt;p&gt;var strPNG8Options = localize("$$$/JavaScripts/X2L/PNG8Options=PNG-8 Options:");&lt;/p&gt;&lt;p&gt;var strCheckboxPNGTransparency = localize("$$$/JavaScripts/X2L/Transparency=Transparency");&lt;/p&gt;&lt;p&gt;var strCheckboxPNGInterlaced = localize("$$$/JavaScripts/X2L/Interlaced=Interlaced");&lt;/p&gt;&lt;p&gt;var strCheckboxPNGTrm = localize("$$$/JavaScripts/X2L/Trim=Trim Layers");&lt;/p&gt;&lt;p&gt;var strPNG24Options = localize("$$$/JavaScripts/X2L/PNG24Options=PNG-24 Options:");&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;// the drop down list indexes for file type&lt;/p&gt;&lt;p&gt;var png24Index = 7;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;main();&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Functions&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: main&lt;/p&gt;&lt;p&gt;// Usage: the core routine for this script&lt;/p&gt;&lt;p&gt;// Input: &amp;lt;none&amp;gt;&lt;/p&gt;&lt;p&gt;// Return: &amp;lt;none&amp;gt;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function main() {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( app.documents.length &amp;lt;= 0 ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( DialogModes.NO != app.playbackDisplayDialogs ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert( strAlertDocumentMustBeOpened );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var exportInfo = new Object();&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; initExportInfo(exportInfo);&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // look for last used params via Photoshop registry, getCustomOptions will throw if none exist&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(e) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // it's ok if we don't have any options, continue with defaults&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var docName = app.activeDocument.name;&amp;nbsp; // save the app.activeDocument name before duplicate.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layerCount = app.documents[docName].layers.length;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layerSetsCount = app.documents[docName].layerSets.length;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((layerCount &amp;lt;= 1)&amp;amp;&amp;amp;(layerSetsCount &amp;lt;= 0)) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( DialogModes.NO != app.playbackDisplayDialogs ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert( strAlertNeedMultipleLayers );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var rememberMaximize;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var needMaximize = exportInfo.psdMaxComp ? QueryStateType.ALWAYS : QueryStateType.NEVER;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.activeDocument = app.documents[docName];&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var duppedDocument = app.activeDocument.duplicate();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; duppedDocument.activeLayer = duppedDocument.layers[duppedDocument.layers.length-1]; // for removing&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setInvisibleAllArtLayers(duppedDocument);&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportChildren(duppedDocument, app.documents[docName], exportInfo, duppedDocument, exportInfo.fileNamePrefix);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; duppedDocument.close( SaveOptions.DONOTSAVECHANGES );&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( rememberMaximize != undefined ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.preferences.maximizeCompatibility = rememberMaximize;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( DialogModes.ALL == app.playbackDisplayDialogs ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //alert(strTitle + strAlertWasSuccessful);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.playbackDisplayDialogs = DialogModes.ALL;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (e) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( DialogModes.NO != app.playbackDisplayDialogs ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(e);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: settingDialog&lt;/p&gt;&lt;p&gt;// Usage: pop the ui and get user settings&lt;/p&gt;&lt;p&gt;// Input: exportInfo object containing our parameters&lt;/p&gt;&lt;p&gt;// Return: on ok, the dialog info is set to the exportInfo object&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function settingDialog(exportInfo) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; return;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: hideAllFileTypePanel&lt;/p&gt;&lt;p&gt;// Usage: hide all the panels in the common actions&lt;/p&gt;&lt;p&gt;// Input: &amp;lt;none&amp;gt;, dlgMain is a global for this script&lt;/p&gt;&lt;p&gt;// Return: &amp;lt;none&amp;gt;, all panels are now hidden&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function hideAllFileTypePanel() {&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: initExportInfo&lt;/p&gt;&lt;p&gt;// Usage: create our default parameters&lt;/p&gt;&lt;p&gt;// Input: a new Object&lt;/p&gt;&lt;p&gt;// Return: a new object with params set to default&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function initExportInfo(exportInfo) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //exportInfo.destination = new String(exportPath);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.fileNamePrefix = new String("untitled_");&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.visibleOnly = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.fileType = png24Index;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.icc = true;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.png24Transparency = true;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.png24Interlaced = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.png24Trim = true;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.destination = Folder(new String(exportPath)).fsName; // destination folder&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tmp = app.activeDocument.fullName.name;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.fileNamePrefix = decodeURI(tmp.substring(0, tmp.indexOf("."))); // filename body part&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch(someError) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.destination = new String(exportPath);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportInfo.fileNamePrefix = app.activeDocument.name; // filename body part&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: saveFile&lt;/p&gt;&lt;p&gt;// Usage: the worker routine, take our params and save the file accordingly&lt;/p&gt;&lt;p&gt;// Input: reference to the document, the name of the output file, &lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; export info object containing more information&lt;/p&gt;&lt;p&gt;// Return: &amp;lt;none&amp;gt;, a file on disk&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function saveFile( docRef, fileNameBody, exportInfo) {&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; saveFile(docRef, fileNameBody, exportInfo, false, true);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function saveFile( docRef, fileNameBody, exportInfo, interlacedValue, transparencyValue) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id6 = charIDToTypeID( "Expr" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc3 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id7 = charIDToTypeID( "Usng" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc4 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id8 = charIDToTypeID( "Op&amp;nbsp; " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id9 = charIDToTypeID( "SWOp" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id10 = charIDToTypeID( "OpSa" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putEnumerated( id8, id9, id10 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id11 = charIDToTypeID( "Fmt " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id12 = charIDToTypeID( "IRFm" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id13 = charIDToTypeID( "PN24" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putEnumerated( id11, id12, id13 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id14 = charIDToTypeID( "Intr" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putBoolean( id14, interlacedValue );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id15 = charIDToTypeID( "Trns" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putBoolean( id15, transparencyValue );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id16 = charIDToTypeID( "Mtt " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putBoolean( id16, true );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id17 = charIDToTypeID( "MttR" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putInteger( id17, 255 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id18 = charIDToTypeID( "MttG" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putInteger( id18, 255 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id19 = charIDToTypeID( "MttB" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putInteger( id19, 255 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id20 = charIDToTypeID( "SHTM" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putBoolean( id20, false );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id21 = charIDToTypeID( "SImg" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putBoolean( id21, true );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id22 = charIDToTypeID( "SSSO" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putBoolean( id22, false );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id23 = charIDToTypeID( "SSLt" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var list1 = new ActionList();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putList( id23, list1 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id24 = charIDToTypeID( "DIDr" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putBoolean( id24, false );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id25 = charIDToTypeID( "In&amp;nbsp; " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc4.putPath( id25, new File( exportPath + "C:/Users/Tim/Desktop/Backdrops/png/"&amp;nbsp; + fileNameBody + ".png") );&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var id26 = stringIDToTypeID( "SaveForWeb" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc3.putObject( id7, id26, desc4 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; executeAction( id6, desc3, DialogModes.NO );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: zeroSuppress&lt;/p&gt;&lt;p&gt;// Usage: return a string padded to digit(s)&lt;/p&gt;&lt;p&gt;// Input: num to convert, digit count needed&lt;/p&gt;&lt;p&gt;// Return: string padded to digit length&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function zeroSuppress (num, digit) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tmp = num.toString();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (tmp.length &amp;lt; digit) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp = "0" + tmp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return tmp;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: setInvisibleAllArtLayers&lt;/p&gt;&lt;p&gt;// Usage: unlock and make invisible all art layers, recursively&lt;/p&gt;&lt;p&gt;// Input: document or layerset&lt;/p&gt;&lt;p&gt;// Return: all art layers are unlocked and invisible&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function setInvisibleAllArtLayers(obj) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( var i = 0; i &amp;lt; obj.artLayers.length; i++) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.artLayers[i].allLocked = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.artLayers[i].visible = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( var i = 0; i &amp;lt; obj.layerSets.length; i++) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setInvisibleAllArtLayers(obj.layerSets[i]);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: removeAllInvisibleArtLayers&lt;/p&gt;&lt;p&gt;// Usage: remove all the invisible art layers, recursively&lt;/p&gt;&lt;p&gt;// Input: document or layer set&lt;/p&gt;&lt;p&gt;// Return: &amp;lt;none&amp;gt;, all layers that were invisible are now gone&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function removeAllInvisibleArtLayers(obj) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( var i = obj.artLayers.length-1; 0 &amp;lt;= i; i--) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!obj.artLayers[i].visible) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.artLayers[i].remove();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (e) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( var i = obj.layerSets.length-1; 0 &amp;lt;= i; i--) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; removeAllInvisibleArtLayers(obj.layerSets[i]);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: removeAllEmptyLayerSets&lt;/p&gt;&lt;p&gt;// Usage: find all empty layer sets and remove them, recursively&lt;/p&gt;&lt;p&gt;// Input: document or layer set&lt;/p&gt;&lt;p&gt;// Return: empty layer sets are now gone&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function removeAllEmptyLayerSets(obj) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var foundEmpty = true;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( var i = obj.layerSets.length-1; 0 &amp;lt;= i; i--) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( removeAllEmptyLayerSets(obj.layerSets[i])) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.layerSets[i].remove();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foundEmpty = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (obj.artLayers.length &amp;gt; 0) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foundEmpty = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return foundEmpty;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: zeroSuppress&lt;/p&gt;&lt;p&gt;// Usage: return a string padded to digit(s)&lt;/p&gt;&lt;p&gt;// Input: num to convert, digit count needed&lt;/p&gt;&lt;p&gt;// Return: string padded to digit length&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function removeAllInvisible(docRef) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; removeAllInvisibleArtLayers(docRef);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; removeAllEmptyLayerSets(docRef);&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: exportChildren&lt;/p&gt;&lt;p&gt;// Usage: find all the children in this document to save&lt;/p&gt;&lt;p&gt;// Input: duplicate document, original document, export info,&lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reference to document, starting file name&lt;/p&gt;&lt;p&gt;// Return: &amp;lt;none&amp;gt;, documents are saved accordingly&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function exportChildren(dupObj, orgObj, exportInfo, dupDocRef, fileNamePrefix) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( var i = 0; i &amp;lt; dupObj.artLayers.length; i++) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (exportInfo.visibleOnly) { // visible layer only&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!orgObj.artLayers[i].visible) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dupObj.artLayers[i].visible = true;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layerName = dupObj.artLayers[i].name;&amp;nbsp; // store layer name before change doc&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var duppedDocumentTmp = dupDocRef.duplicate();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((png24Index == exportInfo.fileType)||(png8Index == exportInfo.fileType)) { // PSD: Keep transparency&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; removeAllInvisible(duppedDocumentTmp);&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //PNGFileOptions&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (activeDocument.activeLayer.isBackgroundLayer == false) { //is it anything but a background layer?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.activeDocument.trim(TrimType.TRANSPARENT);&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else { // just flatten&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; duppedDocumentTmp.flatten();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Edit&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var docName = app.activeDocument.name;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // For some reason indexOf fails if we include the '-', so we use 'copy' and decrement the index by 1.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; docName = docName.slice(0, docName.indexOf('copy')-1);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fileNameBody = (docName+'_'+layerName).toLowerCase();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileNameBody = fileNameBody.replace(/[:\/\\*\?\"\&amp;lt;\&amp;gt;\|]/g, "_");&amp;nbsp; // '/\:*?"&amp;lt;&amp;gt;|' -&amp;gt; '_'&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (fileNameBody.length &amp;gt; 120) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileNameBody = fileNameBody.substring(0,120);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; saveFile(duppedDocumentTmp, fileNameBody, exportInfo);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; duppedDocumentTmp.close(SaveOptions.DONOTSAVECHANGES);&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dupObj.artLayers[i].visible = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( var i = 0; i &amp;lt; dupObj.layerSets.length; i++) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (exportInfo.visibleOnly) { // visible layer only&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!orgObj.layerSets[i].visible) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fileNameBody = fileNamePrefix;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileNameBody += "_" + zeroSuppress(i, 4) + "s";&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportChildren(dupObj.layerSets[i], orgObj.layerSets[i], exportInfo, dupDocRef, fileNameBody);&amp;nbsp; // recursive call&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: objectToDescriptor&lt;/p&gt;&lt;p&gt;// Usage: create an ActionDescriptor from a JavaScript Object&lt;/p&gt;&lt;p&gt;// Input: JavaScript Object (o)&lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object unique string (s)&lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pre process converter (f)&lt;/p&gt;&lt;p&gt;// Return: ActionDescriptor&lt;/p&gt;&lt;p&gt;// NOTE: Only boolean, string, number and UnitValue are supported, use a pre processor&lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to convert (f) other types to one of these forms.&lt;/p&gt;&lt;p&gt;// REUSE: This routine is used in other scripts. Please update those if you &lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; modify. I am not using include or eval statements as I want these &lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scripts self contained.&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function objectToDescriptor (o, s, f) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o = {};&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var d = new ActionDescriptor;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var l = o.reflect.properties.length;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; d.putString( app.charIDToTypeID( 'Msge' ), s );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; l; i++ ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var k = o.reflect.properties[i].toString();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (k == "__proto__" || k == "__count__" || k == "__class__" || k == "reflect")&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var v = o[ k ];&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k = app.stringIDToTypeID(k);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch ( typeof(v) ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case "boolean":&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d.putBoolean(k, v);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case "string":&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d.putString(k, v);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case "number":&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d.putDouble(k, v);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( v instanceof UnitValue ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var uc = new Object;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uc["px"] = charIDToTypeID("#Rlt"); // unitDistance&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uc["%"] = charIDToTypeID("#Prc"); // unitPercent&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d.putUnitDouble(k, uc[v.type], v.value);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw( new Error("Unsupported type in objectToDescriptor " + typeof(v) ) );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return d;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: descriptorToObject&lt;/p&gt;&lt;p&gt;// Usage: update a JavaScript Object from an ActionDescriptor&lt;/p&gt;&lt;p&gt;// Input: JavaScript Object (o), current object to update (output)&lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Photoshop ActionDescriptor (d), descriptor to pull new params for object from&lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object unique string (s)&lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JavaScript Function (f), post process converter utility to convert&lt;/p&gt;&lt;p&gt;// Return: Nothing, update is applied to passed in JavaScript Object (o)&lt;/p&gt;&lt;p&gt;// NOTE: Only boolean, string, number and UnitValue are supported, use a post processor&lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to convert (f) other types to one of these forms.&lt;/p&gt;&lt;p&gt;// REUSE: This routine is used in other scripts. Please update those if you &lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; modify. I am not using include or eval statements as I want these &lt;/p&gt;&lt;p&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scripts self contained.&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function descriptorToObject (o, d, s, f) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var l = d.count;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (l) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var keyMessage = app.charIDToTypeID( 'Msge' );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( d.hasKey(keyMessage) &amp;amp;&amp;amp; ( s != d.getString(keyMessage) )) return;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; l; i++ ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var k = d.getKey(i); // i + 1 ?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var t = d.getType(k);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strk = app.typeIDToStringID(k);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (t) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.BOOLEANTYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o[strk] = d.getBoolean(k);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.STRINGTYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o[strk] = d.getString(k);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.DOUBLETYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o[strk] = d.getDouble(k);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.UNITDOUBLE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var uc = new Object;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uc[charIDToTypeID("#Rlt")] = "px"; // unitDistance&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uc[charIDToTypeID("#Prc")] = "%"; // unitPercent&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uc[charIDToTypeID("#Pxl")] = "px"; // unitPixels&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ut = d.getUnitDoubleType(k);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var uv = d.getUnitDoubleValue(k);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o[strk] = new UnitValue( uv, uc[ut] );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.INTEGERTYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.ALIASTYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.CLASSTYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.ENUMERATEDTYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.LISTTYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.OBJECTTYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.RAWTYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DescValueType.REFERENCETYPE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw( new Error("Unsupported type in descriptorToObject " + t ) );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (undefined != f) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o = f(o);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: preProcessExportInfo&lt;/p&gt;&lt;p&gt;// Usage: convert Photoshop enums to strings for storage&lt;/p&gt;&lt;p&gt;// Input: JavaScript Object of my params for this script&lt;/p&gt;&lt;p&gt;// Return: JavaScript Object with objects converted for storage&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function preProcessExportInfo(o) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o.tiffCompression = o.tiffCompression.toString();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o.pdfEncoding = o.pdfEncoding.toString();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o.targaDepth = o.targaDepth.toString();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o.bmpDepth = o.bmpDepth.toString();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return o;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: postProcessExportInfo&lt;/p&gt;&lt;p&gt;// Usage: convert strings from storage to Photoshop enums&lt;/p&gt;&lt;p&gt;// Input: JavaScript Object of my params in string form&lt;/p&gt;&lt;p&gt;// Return: JavaScript Object with objects in enum form&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function postProcessExportInfo(o) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o.tiffCompression = eval(o.tiffCompression);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o.pdfEncoding = eval(o.pdfEncoding);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o.targaDepth = eval(o.targaDepth);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o.bmpDepth = eval(o.bmpDepth);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return o;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;// Function: StrToIntWithDefault&lt;/p&gt;&lt;p&gt;// Usage: convert a string to a number, first stripping all characters&lt;/p&gt;&lt;p&gt;// Input: string and a default number&lt;/p&gt;&lt;p&gt;// Return: a number&lt;/p&gt;&lt;p&gt;///////////////////////////////////////////////////////////////////////////&lt;/p&gt;&lt;p&gt;function StrToIntWithDefault( s, n ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var onlyNumbers = /[^0-9]/g;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var t = s.replace( onlyNumbers, "" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t = parseInt( t );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( ! isNaN( t ) ) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = t;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return n;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;// End X2L.jsx&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:53ba5742-9471-478a-be04-f527e9d3c7ce] --&gt;</description>
      <pubDate>Mon, 10 Nov 2014 20:22:19 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1631355</guid>
      <dc:date>2014-11-10T20:22:19Z</dc:date>
      <clearspace:dateToText>3 days 8 hours ago</clearspace:dateToText>
      <clearspace:replyCount>8</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Photoshop 2014.2 bug with duplicating layers in different doc</title>
      <link>https://forums.adobe.com/thread/1601076</link>
      <description>&lt;!-- [DocumentBodyStart:b1586456-e670-484a-8072-35ed0cc5720c] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Encountered an issue with Photoshop 2014.2 that occurs when I try to use &lt;em&gt;some_basic_bitmap_layer.duplicate(some_layer_in_different_doc, ElementPlacement.PLACEAFTER)&lt;/em&gt;. So this is code that has been pretty much unchanged for a year and works in CS6 and CC2012 and used to worked in CC2014.1. I use .duplicate() with docs and with layers inside same doc, but this is the one giving exception:&lt;/p&gt;&lt;p&gt;&lt;em&gt;General Photoshop error occured. This functionality may not be available in this version of Photoshop. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;- The object " &amp;lt;unknown&amp;gt; of layer 2" is not currently available&lt;/em&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Another strange thing is is that in ESTK debugging the exception surfaced in a bit different places depending on factoring. I.e. before I added more detailed exception catching, it occured later in code. But this place is the only spot there is a layer named "layer 2". But gives me the feeling it's an internal state corruption&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'm guessing it might so specific no-one else will hit it, but I'd like to ask&lt;/p&gt;&lt;p&gt;- Any workarounds you can think of?&lt;/p&gt;&lt;p&gt;- Any ways to directly escalate it to Adobe given it's a new release. The general feedback site seems a waste of effort.&lt;/p&gt;&lt;p&gt;- Any way to downgrade (in a way that normal users could do it also) to 2014.1?&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:b1586456-e670-484a-8072-35ed0cc5720c] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">bug</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">duplicate</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">layer</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">cc2014.2</category>
      <pubDate>Mon, 10 Nov 2014 20:17:24 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1601076</guid>
      <dc:date>2014-11-10T20:17:24Z</dc:date>
      <clearspace:dateToText>3 days 8 hours ago</clearspace:dateToText>
      <clearspace:replyCount>12</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>How to get the Pattern ID of pattern in pat file</title>
      <link>https://forums.adobe.com/thread/1630725</link>
      <description>&lt;!-- [DocumentBodyStart:600332e0-268d-4a8f-ae8d-35290ea20c9b] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi, &lt;/p&gt;&lt;p&gt;I want a set of actions to be executed to an image. One of the action is to apply a pattern. I created a action in the hope that the new pattern can be selected before running the action. But the Pattern name and Pattern ID is hardcoded in the action. I have converted the action to a Javascript file and passing Pattern Name and Pattern ID to the function. &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The problem that I face now is how to find the Pattern id of the pattern? Is there a way that I read the pat file to get the Pattern ID for each pattern. &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; Action: Theme1 &lt;/p&gt;&lt;p&gt;&amp;nbsp; Select layer &amp;#8220;Art-11-1&amp;rdquo;&amp;nbsp; Without Make Visible&lt;/p&gt;&lt;p&gt;&amp;nbsp; Fill&lt;/p&gt;&lt;p&gt;&amp;nbsp; From: 8.569 inches, 4.306 inches&lt;/p&gt;&lt;p&gt;&amp;nbsp; Tolerance: 32&lt;/p&gt;&lt;p&gt;&amp;nbsp; With Anti-alias&lt;/p&gt;&lt;p&gt;&amp;nbsp; Using: pattern&lt;/p&gt;&lt;p&gt;&amp;nbsp; Pattern: pattern&lt;/p&gt;&lt;p&gt;&amp;nbsp; Name:&amp;nbsp; &amp;#8220;Calypso latte.png&amp;rdquo;&lt;/p&gt;&lt;p&gt;&amp;nbsp; Pattern ID:&amp;nbsp; &amp;#8220;09a1120d-f7b6-11e3-a430-9f2bed0d0ccf&amp;rdquo;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;There are 100s are pattern images in the pat file. How to get the Pattern ID? &lt;/p&gt;&lt;p&gt;Thanks&lt;/p&gt;&lt;p&gt;Govind. &lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:600332e0-268d-4a8f-ae8d-35290ea20c9b] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">pattern</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">action!</category>
      <pubDate>Mon, 10 Nov 2014 12:06:07 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1630725</guid>
      <dc:date>2014-11-10T12:06:07Z</dc:date>
      <clearspace:dateToText>3 days 17 hours ago</clearspace:dateToText>
      <clearspace:replyCount>4</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Adding date picture taken to multiple photos</title>
      <link>https://forums.adobe.com/thread/1630797</link>
      <description>&lt;!-- [DocumentBodyStart:34117629-07a8-4400-914c-7f9701eb0ae6] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;I am a total novice in scripting, but I believe that there should be a way to create a batch script that reads the date taken information from a jpeg file and adds it as a stamp on all of the photos. Is this true? Does anyone have a script that they can point me to? Thanks!&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:34117629-07a8-4400-914c-7f9701eb0ae6] --&gt;</description>
      <pubDate>Sun, 09 Nov 2014 19:57:49 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1630797</guid>
      <dc:date>2014-11-09T19:57:49Z</dc:date>
      <clearspace:dateToText>4 days 9 hours ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>script flow control</title>
      <link>https://forums.adobe.com/thread/1630560</link>
      <description>&lt;!-- [DocumentBodyStart:d5904799-f515-48f7-89b8-5751d168f896] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I am trying to figure out the logic to implement a save folder dialog into a Bridge batch processing script.&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 1.5em;"&gt;I posted a similar question in the bridge forum &lt;/span&gt;&lt;a class="jive-link-message-small" data-containerId="3477" data-containerType="14" data-objectId="6912218" data-objectType="2" href="https://forums.adobe.com/message/6912218#6912218"&gt;complicated question: dialog box-batch processing script&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Script: Open files as Layers in Photoshop&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The&amp;nbsp; main concept is to display a save dialog when the script executes to set save folder destination.&lt;/p&gt;&lt;p&gt;Once the user enters the data the script executes batch processing image stacks from Bridge.&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 1.5em;"&gt;The folder dialog would only display once every time the script is launched.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Which javascript flow control will allow this behavior?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I have added the folder dialog to the script. Every time the script encounters a Bridge image stack it calls the save folder dialog.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;#target bridge&amp;nbsp; &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 1.5em;"&gt;var stacks = app.document.stacks;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;var stackCount = stacks.length;&lt;/p&gt;&lt;p&gt;for(var s = 0;s&amp;lt;stackCount;s++){&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var stackFiles = getStackFiles( stacks[s] );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(stackFiles.length&amp;gt; 1){&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var bt = new BridgeTalk;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bt.target = "photoshop";&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var myScript = ("var ftn = " + psRemote.toSource() + "; ftn("+stackFiles.toSource()+");");&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bt.body = myScript;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bt.send(5);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;function getStackFiles( stack ){&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var files = new Array();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( var f = 0; f&amp;lt;stack.thumbnails.length;f++){&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; files.push(stack.thumbnails[f].spec);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return files;&lt;/p&gt;&lt;p&gt;};&lt;/p&gt;&lt;p&gt;function psRemote(stackFiles){&lt;/p&gt;&lt;p&gt;app.bringToFront();&lt;/p&gt;&lt;p&gt;var thisDoc = open(File(stackFiles[0]));&lt;/p&gt;&lt;p&gt;var Name = decodeURI(app.activeDocument.name).slice(0,-4);&lt;/p&gt;&lt;p&gt;thisDoc.layers[0].name = decodeURI(Name);&lt;/p&gt;&lt;p&gt;for(var a = 1;a&amp;lt;stackFiles.length;a++){&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; open(File(stackFiles[a]));&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name = decodeURI(app.activeDocument.name).slice(0,-4);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeDocument.activeLayer.duplicate(thisDoc);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; thisDoc.layers[0].name = Name;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;var tifOptions = new TiffSaveOptions();&lt;/p&gt;&lt;p&gt;tifOptions = new TiffSaveOptions();&lt;/p&gt;&lt;p&gt;tifOptions.embedColorProfile = true;&lt;/p&gt;&lt;p&gt;tifOptions.imageCompression = TIFFEncoding.TIFFLZW;&lt;/p&gt;&lt;p&gt;tifOptions.alphaChannels = false;&lt;/p&gt;&lt;p&gt;tifOptions.byteOrder = ByteOrder.MACOS;&lt;/p&gt;&lt;p&gt;tifOptions.layers = true;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;var theFolder = Folder.selectDialog ("Select Folder");&lt;/p&gt;&lt;p&gt;if (theFolder) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var myFile = new File( theFolder + "/" + app.activeDocument.name); &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.activeDocument.saveAs(myFile, tifOptions, true);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;/p&gt;&lt;p&gt;app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);&amp;nbsp; &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:d5904799-f515-48f7-89b8-5751d168f896] --&gt;</description>
      <pubDate>Sun, 09 Nov 2014 03:49:17 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1630560</guid>
      <dc:date>2014-11-09T03:49:17Z</dc:date>
      <clearspace:dateToText>5 days 52 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>4</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Is there any way to apply a box blur filter?</title>
      <link>https://forums.adobe.com/thread/1630510</link>
      <description>&lt;!-- [DocumentBodyStart:53f1b0d4-7f63-477b-8bba-5dcd96e58a0c] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;There seems to be methods to perform almost all filters, like applyGaussianBlur, applyTwirl.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;But there doesn't seem to be one for box blur. Is there any other way to perform this filter?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;applyReduceNoise() would be nice too. All the pixelate filters are missing as well.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:53f1b0d4-7f63-477b-8bba-5dcd96e58a0c] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">filters</category>
      <pubDate>Sun, 09 Nov 2014 12:32:27 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1630510</guid>
      <dc:date>2014-11-09T12:32:27Z</dc:date>
      <clearspace:dateToText>4 days 16 hours ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Is it possible to get a preview for a filter?</title>
      <link>https://forums.adobe.com/thread/1630439</link>
      <description>&lt;!-- [DocumentBodyStart:437595cf-5eef-4caa-b469-a8547dbcba83] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I mean a little preview image, not a live changing of the canvas. Something similar to what some filter windows have, such as wave.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I have a script that lets users apply a couple filters, and it would be nice if there could be a little preview image.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;If not, I guess I'll have to do/undo/redo filters to give the user a live look.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:437595cf-5eef-4caa-b469-a8547dbcba83] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">filters</category>
      <pubDate>Sat, 08 Nov 2014 23:17:46 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1630439</guid>
      <dc:date>2014-11-08T23:17:46Z</dc:date>
      <clearspace:dateToText>5 days 5 hours ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Is there a simple way to convert bit depth to 16 bit?</title>
      <link>https://forums.adobe.com/thread/1629547</link>
      <description>&lt;!-- [DocumentBodyStart:71c1bd46-d9d3-414e-bec3-51e33aaf1e4e] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;It seems there are PDF/BITMAP specific methods to convert to 8 bit depth, but I can't find any documentation to do this easily to the file as a whole. Is there a way to do this? I want to convert from 32 to 16 bit.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:71c1bd46-d9d3-414e-bec3-51e33aaf1e4e] --&gt;</description>
      <pubDate>Sat, 08 Nov 2014 18:53:04 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1629547</guid>
      <dc:date>2014-11-08T18:53:04Z</dc:date>
      <clearspace:dateToText>5 days 10 hours ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>abort IPP session</title>
      <link>https://forums.adobe.com/thread/1628735</link>
      <description>&lt;!-- [DocumentBodyStart:0124335a-2b38-4ef4-b9bc-7db3df918cfd] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;xbytor,&lt;/p&gt;&lt;p&gt;Is there a graceful technique to abort an IPP session?&lt;/p&gt;&lt;p&gt;Lets say for instance the IPP recipe is incorrect. IPP is running processing 100 files.&lt;/p&gt;&lt;p&gt;Can the IPP be halted with out force quitting PSCC 2014?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Image Processor Pro (IPP)&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:0124335a-2b38-4ef4-b9bc-7db3df918cfd] --&gt;</description>
      <pubDate>Sat, 08 Nov 2014 05:12:32 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1628735</guid>
      <dc:date>2014-11-08T05:12:32Z</dc:date>
      <clearspace:dateToText>5 days 23 hours ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Launch external program (email with attachment)</title>
      <link>https://forums.adobe.com/thread/1626396</link>
      <description>&lt;!-- [DocumentBodyStart:6e3c0e50-4943-4447-87f1-f116188da37b] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;maybe a simple question with a simple anwser &lt;span aria-label="Wink" class="emoticon-inline emoticon_wink" style="height:16px;width:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;With Authotkey (Windows) I can launch Thunderbird respectively opening a new e-mail with an attachment:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;!--[CodeBlockStart:f08360d3-cd9a-4c56-afd3-4eb4daaffeb4][excluded]--&gt;&lt;pre class="plain" name="code"&gt;
Run, thunderbird.exe -compose "attachment='%clipboard%'" 
&lt;/pre&gt;&lt;!--[CodeBlockEnd:f08360d3-cd9a-4c56-afd3-4eb4daaffeb4]--&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I don't find the command in Photoshop (Java)scripting to do the same: opening a e-mail with the current image.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Is there such a command to launch external programs?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks!&lt;/p&gt;&lt;p&gt;mtemp &lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:6e3c0e50-4943-4447-87f1-f116188da37b] --&gt;</description>
      <pubDate>Sat, 08 Nov 2014 16:25:24 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1626396</guid>
      <dc:date>2014-11-08T16:25:24Z</dc:date>
      <clearspace:dateToText>5 days 12 hours ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>How can i change brush type with script?</title>
      <link>https://forums.adobe.com/thread/1628672</link>
      <description>&lt;!-- [DocumentBodyStart:278237a7-a987-4ab4-8bb4-7b205c8e4ee2] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I can already set the width, size of it, but i cant find out how to change the type. Even script listener dont produce the needed code for it.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:278237a7-a987-4ab4-8bb4-7b205c8e4ee2] --&gt;</description>
      <pubDate>Fri, 07 Nov 2014 14:03:26 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1628672</guid>
      <dc:date>2014-11-07T14:03:26Z</dc:date>
      <clearspace:dateToText>6 days 15 hours ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Is it possible to paste the copy content to the text item via script?</title>
      <link>https://forums.adobe.com/thread/1627417</link>
      <description>&lt;!-- [DocumentBodyStart:9dcf1a5d-7cdc-4573-a7a5-7c0828fa820b] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi All,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I am looking into the solution of pasting the copied content (by cntrl + c) to the text item.&lt;/p&gt;&lt;p&gt;Following is my scenario,&lt;/p&gt;&lt;p&gt;- Have the text (copied from cntrl + c).&lt;/p&gt;&lt;p&gt;- Now I want to create a text item on the current doc.&lt;/p&gt;&lt;p&gt;- Paste the content to that text item. ( Looking script for this step).&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;How can we accomplish this?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks for any help.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:9dcf1a5d-7cdc-4573-a7a5-7c0828fa820b] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">copy paste</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop scripting</category>
      <pubDate>Fri, 07 Nov 2014 08:05:40 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1627417</guid>
      <dc:date>2014-11-07T08:05:40Z</dc:date>
      <clearspace:dateToText>6 days 21 hours ago</clearspace:dateToText>
      <clearspace:replyCount>5</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>please help me</title>
      <link>https://forums.adobe.com/thread/1627664</link>
      <description>&lt;!-- [DocumentBodyStart:986a03bf-be54-422c-b1d5-e67a81383a10] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 1.5em;"&gt;var myDoc = activeDocument;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;var channels = myDoc.channels;&lt;/p&gt;&lt;p&gt;var theNumber = 0;&lt;/p&gt;&lt;p&gt;var i=0;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 1.5em;"&gt;for (var m = 0; m &amp;lt; channels.length; m++) {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; if (channels[m].kind == ChannelType.SPOTCOLOR) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; theNumber++&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var i=theNumber; &lt;/p&gt;&lt;p&gt;// =======================================================select layer number&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idslct = charIDToTypeID( "slct" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc18 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idnull = charIDToTypeID( "null" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ref9 = new ActionReference();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idLyr = charIDToTypeID( "Lyr " );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ref9.putName( idLyr, "layer "+i );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc18.putReference( idnull, ref9 );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idMkVs = charIDToTypeID( "MkVs" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc18.putBoolean( idMkVs, false );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; executeAction( idslct, desc18, DialogModes.NO );&lt;/p&gt;&lt;p&gt;// =======================================================&lt;/p&gt;&lt;p&gt;var idslct = charIDToTypeID( "slct" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc13581 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idnull = charIDToTypeID( "null" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ref1772 = new ActionReference();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idChnl = charIDToTypeID( "Chnl" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idChnl = charIDToTypeID( "Chnl" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idBlck = charIDToTypeID( "Blck" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ref1772.putEnumerated( idChnl, idChnl, idBlck );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc13581.putReference( idnull, ref1772 );&lt;/p&gt;&lt;p&gt;executeAction( idslct, desc13581, DialogModes.NO );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var k1 = channels[m].color.cmyk.black;//========spot channel black color&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (k1 = 100){&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layercurvesk(1);//==========laod curves 1&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (75 &amp;lt;= k1 &amp;lt;= 99){&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layercurvesk(2);//==========laod curves 2&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (45 &amp;lt;= k1 &amp;lt;= 74){&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layercurvesk(3);//==========laod curves 3&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (0 &amp;lt;= k1 &amp;lt;= 44){&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layercurvesk(4);//==========laod curves 3&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;// =======================================================&lt;/p&gt;&lt;p&gt;function layercurvesk(s){&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 1.5em;"&gt;var idCrvs = charIDToTypeID( "Crvs" );&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc13582 = new ActionDescriptor();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idpresetKind = stringIDToTypeID( "presetKind" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idpresetKindType = stringIDToTypeID( "presetKindType" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idpresetKindUserDefined = stringIDToTypeID( "presetKindUserDefined" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc13582.putEnumerated( idpresetKind, idpresetKindType, idpresetKindUserDefined );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idUsng = charIDToTypeID( "Usng" );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc13582.putPath( idUsng, new File( "D:\\new\\k"+s+".acv" ) );&lt;/p&gt;&lt;p&gt;executeAction( idCrvs, desc13582, DialogModes.NO );&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;No matter what the value of k1 is always to select load curves 1, If k1 = 30 should be chosen load curves 3, but chose to load curves 1。How to Modify？&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;消息编辑者为：kong kong&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:986a03bf-be54-422c-b1d5-e67a81383a10] --&gt;</description>
      <pubDate>Thu, 06 Nov 2014 06:46:22 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1627664</guid>
      <dc:date>2014-11-06T06:46:22Z</dc:date>
      <clearspace:dateToText>1 week 22 hours ago</clearspace:dateToText>
      <clearspace:replyCount>4</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Painting Process Documentation: Stamp Visible, Move to layer Set and hide</title>
      <link>https://forums.adobe.com/thread/1626989</link>
      <description>&lt;!-- [DocumentBodyStart:dd648c2e-7c86-4dc0-bc90-b256753f1f1a] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;strong&gt;I like to capture my screen while painting and when I am done I make an animated GIF from these "process shots". I am trying to automatize the process and I have managed to come up with this which meets my needs:&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;#target photoshop&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;app.bringToFront();&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// Stamp visible Layers&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;var idMrgV = charIDToTypeID( "MrgV" );&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc2 = new ActionDescriptor();&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idDplc = charIDToTypeID( "Dplc" );&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc2.putBoolean( idDplc, true );&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;executeAction( idMrgV, desc2, DialogModes.NO );&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// Move Active Layer to the Bottom of LayerSet "process"&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;var activeLayer = activeDocument.activeLayer;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var processFolder = activeDocument.layerSets.getByName("process")&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeDocument.activeLayer.moveToEnd (processFolder);&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Now I would like to add a conditional to check, whether or not the "process" layer-set exists and if it does not, create it. This should look something like this:&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// Process Image Capture&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// V 0.3&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// PIC Stamps Visible (creates a new layer that combines all visible information in flattened form) and moves that to a "process" Layer Set.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// Layer is then hidden.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// If Layer Set is not there, it will be created.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;#target photoshop&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;app.bringToFront();&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// Check for "Process" Layer-Set on root. Create, in case it is not present.&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;if (!activeDocument.layerSets.getByName("process")) {&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeDocument.LayerSets.add();&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeDocument.LayerSets.name = "process";&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;//&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;/* else {&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }*/&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// Stamp visible Layers&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;var idMrgV = charIDToTypeID( "MrgV" );&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var desc2 = new ActionDescriptor();&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idDplc = charIDToTypeID( "Dplc" );&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc2.putBoolean( idDplc, true );&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;executeAction( idMrgV, desc2, DialogModes.NO );&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;// Move Active Layer to the Bottom of LayerSet "process"&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var activeLayer = activeDocument.activeLayer;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var processFolder = activeDocument.layerSets.getByName("process")&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeDocument.activeLayer.moveToEnd (processFolder);&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeDocument.activeLayer.visibility = false;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px; padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The condition seems to be what causes the problem, but I have no idea how to fix it. Can somebody help?&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:dd648c2e-7c86-4dc0-bc90-b256753f1f1a] --&gt;</description>
      <pubDate>Wed, 05 Nov 2014 10:44:05 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1626989</guid>
      <dc:date>2014-11-05T10:44:05Z</dc:date>
      <clearspace:dateToText>1 week 2 days ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Photoshop document save on Mac throws Error : The document has not yet been saved.</title>
      <link>https://forums.adobe.com/thread/1627135</link>
      <description>&lt;!-- [DocumentBodyStart:bd71e2a2-5cad-4cb0-8287-14ccab24d03a] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;I have a very simple script that would save the changes in a PS document. The script is as practically as mentioned below :&lt;/p&gt;&lt;p&gt;if(app &amp;amp;&amp;amp; app.activeDocument) {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.activeDocument.save();&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This was working fine. But all of a sudden, I started getting the error - Error : The document has not yet been saved. The file on which I am trying to run the script is located in /Users/qa/Documents/sample.psd. The file is already saved on disk and am running the script after making some changes to the file. I am using the Photoshop CC 2014 and Mac OS X version 10.10. This is a show-stopper for me and I need to resolve this urgently. Looking forward to any help.&lt;/p&gt;&lt;p&gt;Thanks in advance.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:bd71e2a2-5cad-4cb0-8287-14ccab24d03a] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop_scripting</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">document_saving</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop_cc2014</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">document not yet saved error</category>
      <pubDate>Wed, 05 Nov 2014 06:13:41 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1627135</guid>
      <dc:date>2014-11-05T06:13:41Z</dc:date>
      <clearspace:dateToText>1 week 2 days ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Photoshop CS6 - How can javaScript fill blank layer with color?</title>
      <link>https://forums.adobe.com/thread/1624983</link>
      <description>&lt;!-- [DocumentBodyStart:91744e2d-8ab2-4626-9b31-0afb0e5926a0] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hello,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'm a production artist and I work with PSD files that were created in Adobe Scene7 Image Authoring Tool. These PSDs contain a background layer along with 1-20 alpha channels. My script has to make new blank layers based on the number of alpha channels and then it has to fill the new layers with light gray. The RGB values are 161, 161, 161. I checked the PSCS6 JavaScript Reference pdf, but I don't see a method that would do this for artLayers. (Let me also say that I'm new to javaScript).&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Does anyone know how to fill a blank layer with these RGB values? &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Here's my script so far: &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-bottom: .0001pt;"&gt;&lt;span style="color: #800000; font-size: 10pt; font-family: Arial, sans-serif;"&gt;#target photoshop&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-bottom: .0001pt;"&gt;&lt;span style="color: #808000; font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;// declare variable to contain the active document&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;var myDoc=app.activeDocument;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-bottom: .0001pt;"&gt;&lt;span style="color: #808000; font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;// declare variable to contain the number of alpha channels, excluding the RGB channels&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;var alphaChan = myDoc.channels.length - 3;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-bottom: .0001pt;"&gt;&lt;span style="color: #4f6228; font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;// create loop to make new layers based on number of alpha channels and fill each layer with gray&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;for (a=0; a&amp;lt;alphaChan; a=+1){&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;myDoc.artLayers.add();&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;if (myDoc.artLayers.length == (alphaChan + 1)) {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;};&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:91744e2d-8ab2-4626-9b31-0afb0e5926a0] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">scripting</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop cs6</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">java script</category>
      <pubDate>Sun, 02 Nov 2014 21:42:51 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1624983</guid>
      <dc:date>2014-11-02T21:42:51Z</dc:date>
      <clearspace:dateToText>1 week 4 days ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Is it possible to check if action from some action set exists?</title>
      <link>https://forums.adobe.com/thread/1624221</link>
      <description>&lt;!-- [DocumentBodyStart:2433e33a-6bcb-4dd2-b670-f33fb982a278] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;In photoshop script (CC 2014) I'm executing doAction with action and action set that can possibly be not added yet. I wonder if i can somehow check if action exist first. &lt;span aria-label="Confused" class="emoticon-inline emoticon_confused" style="height:16px;width:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;all code i have:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #660e7a; font-weight: bold;"&gt;document &lt;/span&gt;= &lt;span style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;app&lt;/span&gt;.&lt;span style="color: #7a7a43;"&gt;open&lt;/span&gt;(&lt;span style="color: #000080; font-weight: bold;"&gt;new &lt;/span&gt;&lt;span style="color: #660e7a; font-weight: bold;"&gt;File&lt;/span&gt;(&lt;span style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;inputFile&lt;/span&gt;));&lt;/p&gt;&lt;p&gt;// some check if there is such action ?&lt;/p&gt;&lt;p&gt;&lt;span style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;app&lt;/span&gt;.&lt;span style="color: #7a7a43;"&gt;doAction&lt;/span&gt;(&lt;span style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;actionToRun&lt;/span&gt;, &lt;span style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;actionSetToRun&lt;/span&gt;)&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:2433e33a-6bcb-4dd2-b670-f33fb982a278] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">action</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">doaction</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop scripting</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">action set</category>
      <pubDate>Sun, 02 Nov 2014 04:00:37 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1624221</guid>
      <dc:date>2014-11-02T04:00:37Z</dc:date>
      <clearspace:dateToText>1 week 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Read layer structure closed file</title>
      <link>https://forums.adobe.com/thread/1624362</link>
      <description>&lt;!-- [DocumentBodyStart:292f14d3-12f0-4da1-8743-b3cee2b422bf] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Are there any programing tools that will allow reading the layer structure of a closed photoshop file? &lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:292f14d3-12f0-4da1-8743-b3cee2b422bf] --&gt;</description>
      <pubDate>Sun, 02 Nov 2014 02:38:21 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1624362</guid>
      <dc:date>2014-11-02T02:38:21Z</dc:date>
      <clearspace:dateToText>1 week 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>8</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Is it possible to use script as custom Photoshop Panel...?</title>
      <link>https://forums.adobe.com/thread/1623304</link>
      <description>&lt;!-- [DocumentBodyStart:ea50b82b-cd3c-4b59-8c6d-bc2536b2ecd4] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi Everyone!,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I wonder if it is possible, to create custom panel in Photoshop using just javascript? &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;(or) I have created dialog window using java script and which is use as custom panel?&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;Any help would be much appreciated.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;- yajiviki&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:ea50b82b-cd3c-4b59-8c6d-bc2536b2ecd4] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">custom panel</category>
      <pubDate>Sat, 01 Nov 2014 23:34:52 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1623304</guid>
      <dc:date>2014-11-01T23:34:52Z</dc:date>
      <clearspace:dateToText>1 week 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>5</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Script to save opened layers and rename them sequentially</title>
      <link>https://forums.adobe.com/thread/1611507</link>
      <description>&lt;!-- [DocumentBodyStart:e94873f3-e5d0-4582-bb7f-6704517fb2e7] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hello everyone,&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;I have a psd file on cc version opened with more than 100 pictures as layers one above the other.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;Is there a script able to do this:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;save for web&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;save as jpeg 80% quality&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;save as picture_0001&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;close the layer &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;and than do the same for the next layer automatically but saving as picture_0002.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;Thanks in advance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: adobe-clean, 'Helvetica Neue', Arial, sans-serif;"&gt;Simon&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:e94873f3-e5d0-4582-bb7f-6704517fb2e7] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">saving_images_for_web</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">auto save</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop script</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">auto sequence</category>
      <pubDate>Fri, 31 Oct 2014 19:57:11 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1611507</guid>
      <dc:date>2014-10-31T19:57:11Z</dc:date>
      <clearspace:dateToText>1 week 6 days ago</clearspace:dateToText>
      <clearspace:replyCount>6</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Removing number sequence in 'Export layers to files" in CS5</title>
      <link>https://forums.adobe.com/thread/688851</link>
      <description>&lt;!-- [DocumentBodyStart:42de0aba-5ded-44a7-a661-0ea4cbebb60b] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;Hi the script automatically embeds a number sequence prefix to the exported layers, thus rendering your own file naming convention useless. Is there a fix for this? Perhaps the JS file can be rewritten? Or an option created called 'dont auto-renumber my files' or 'use layer names as file names".&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" style="min-height: 8pt; padding: 0px;" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;&amp;nbsp;&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;This is a similar thread, but for CS2, Im trying to get answers there too.&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" style="min-height: 8pt; padding: 0px;" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;&amp;nbsp;&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;&lt;a class="jive-link-external-small" href="http://www.photoshopcafe.com/cafe/viewthread.php?tid=34313" rel="nofollow"&gt;http://www.photoshopcafe.com/cafe/viewthread.php?tid=34313&lt;/a&gt;&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" style="min-height: 8pt; padding: 0px;" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;&amp;nbsp;&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;The JS edits suggested there arent working for CS5.&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" style="min-height: 8pt; padding: 0px;" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;&amp;nbsp;&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;Please help becuase its almost as painful renaming the final files as it is to simply "file/save as", which makes this script useless.&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" style="min-height: 8pt; padding: 0px;" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;&amp;nbsp;&lt;/p&gt;&lt;p lang="function(){return A.apply(null,[this].concat($A(arguments)))}" ondblclick="" onkeydown="" onkeypress="" onkeyup="" onmousemove="" onmouseout="" onmouseover="" onmouseup="" title="function(){return A.apply(null,[this].concat($A(arguments)))}"&gt;Cheers&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:42de0aba-5ded-44a7-a661-0ea4cbebb60b] --&gt;</description>
      <pubDate>Fri, 31 Oct 2014 11:22:19 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/688851</guid>
      <dc:date>2014-10-31T11:22:19Z</dc:date>
      <clearspace:dateToText>1 week 7 days ago</clearspace:dateToText>
      <clearspace:replyCount>16</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Rename Layers: Find and Replace style renaming</title>
      <link>https://forums.adobe.com/thread/1563041</link>
      <description>&lt;!-- [DocumentBodyStart:1dc6f795-33e4-499a-8e8c-d35d8027075e] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;In Illustrator, you can use the following to find and replace layer names:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;
&lt;p&gt;var doc = app.activeDocument;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;// name indexed object&amp;nbsp; &lt;/p&gt;
&lt;p&gt;var layernames = {&amp;nbsp; &lt;/p&gt;
&lt;p&gt; 'Bob':'Bob Front'&lt;/p&gt;
&lt;p&gt;};&amp;nbsp; &lt;/p&gt;
&lt;p&gt;// loop through all layers&amp;nbsp; &lt;/p&gt;
&lt;p&gt;for (var i = 0; i &amp;lt; doc.layers.length; i++)&amp;nbsp; &lt;/p&gt;
&lt;p&gt;{&amp;nbsp; &lt;/p&gt;
&lt;p&gt; //Set up Variable to access layer name&amp;nbsp; &lt;/p&gt;
&lt;p&gt; var currentLayer = app.activeDocument.layers[i];&amp;nbsp; &lt;/p&gt;
&lt;p&gt; if (layernames[currentLayer.name])&amp;nbsp; &lt;/p&gt;
&lt;p&gt; {&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp; currentLayer.name = layernames[currentLayer.name];&amp;nbsp; &lt;/p&gt;
&lt;p&gt; }&amp;nbsp; &lt;/p&gt;
&lt;p&gt;}&amp;nbsp; &lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;In this script "Bob" will become "Bob Front". Is there something similar for Photoshop. Looking at the &lt;a class="jive-link-external-small" href="http://wwwimages.adobe.com/content/dam/Adobe/en/products/photoshop/pdfs/cs6/Photoshop-CS6-JavaScript-Ref.pdf" rel="nofollow"&gt;Photoshop scripting guide&lt;/a&gt;, this script should work as the active App document and layers methods exist in Photoshop. &lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:1dc6f795-33e4-499a-8e8c-d35d8027075e] --&gt;</description>
      <pubDate>Fri, 31 Oct 2014 09:29:58 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1563041</guid>
      <dc:date>2014-10-31T09:29:58Z</dc:date>
      <clearspace:dateToText>1 week 7 days ago</clearspace:dateToText>
      <clearspace:replyCount>7</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Image Processing .psd's for web from multiple folders and adding a water mark</title>
      <link>https://forums.adobe.com/thread/1622857</link>
      <description>&lt;!-- [DocumentBodyStart:e8168386-c54d-4790-ac35-5c9cce903fef] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hello there,&lt;/p&gt;&lt;p&gt;So I've been trying to wrap my head around how to grab hundreds of image files and add .psd layer and then have photoshop output them as a particular dim - "600x450 progressive .jpeg" at a quality about 8 for web.&amp;nbsp; &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;What is complicated to me is how to grab each image from a root file structure and run image resize to 600 by 450 pixels, at each image file grab adding the .psd layer (in effect a watermark) and then save that image back as my "600x450 progressive .jpeg" then going to the next file after it's finished with the "save as for web" command.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Anyone have some great work arounds or insights? would be much appreciated!&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks! &lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:e8168386-c54d-4790-ac35-5c9cce903fef] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">batch rename</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">watermark logo</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">photoshop script</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">web image</category>
      <pubDate>Fri, 31 Oct 2014 01:16:24 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1622857</guid>
      <dc:date>2014-10-31T01:16:24Z</dc:date>
      <clearspace:dateToText>2 weeks 3 hours ago</clearspace:dateToText>
      <clearspace:replyCount>6</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>optimizing script-listener code</title>
      <link>https://forums.adobe.com/thread/1617686</link>
      <description>&lt;!-- [DocumentBodyStart:ffafbda5-271f-4415-853a-52f00a084e5e] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I have noticed in some threads that the script listener action manager code is modified.&lt;/p&gt;&lt;p&gt;Is there a method&amp;nbsp; to modify the script-listener/action manager code?&lt;/p&gt;&lt;p&gt;How ca interpret the script-listener action manager syntax?&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:ffafbda5-271f-4415-853a-52f00a084e5e] --&gt;</description>
      <pubDate>Thu, 30 Oct 2014 20:50:01 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1617686</guid>
      <dc:date>2014-10-30T20:50:01Z</dc:date>
      <clearspace:dateToText>2 weeks 8 hours ago</clearspace:dateToText>
      <clearspace:replyCount>5</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Remote photoshop scripting over SSH</title>
      <link>https://forums.adobe.com/thread/1619691</link>
      <description>&lt;!-- [DocumentBodyStart:85f8fbf4-2395-4dc8-9e99-025c5033f504] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I'm trying to get AppleScript scripts to execute on a remote rendering server over SSH (using the osascript command line utility). However, whenever I try to do most anything, I get various Photoshop and/or AppleScript errors that I never get when trying to run the exact same scripts locally. &lt;em&gt;Ultimately, I'm trying to execute a JavaScript file passing JSON arguments from Applescript, called over SSH.&lt;/em&gt; Please forgive the verbosity introduced by the simple initial example.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Server: OS X 10.8.5&lt;/p&gt;&lt;p&gt;Photoshop: CC 2014&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I see the same type of errors whether I SSH into a server and do the following manually in a shell after logging in, or feed a command to SSH to execute directly (e.g., ssh user@host 'osascript /path/to/script.scpt'). Starting from a basic example, I tried running the following AppleScript snippet. I tried entering it into osascript by hand via stdin, as well as writing it out to a file and calling it remotely. Both resulted in no new file being created, but a success message.&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;
&lt;p&gt;tell application "Adobe Photoshop CC 2014"&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; make new document&lt;/p&gt;
&lt;p&gt;end tell&lt;/p&gt;


&lt;/blockquote&gt;&lt;p&gt;No matter how I try to run this remotely, I get the response "document Untitled" from osascript, and Photoshop pops up an error dialog: "Could not complete your request because of a program error."&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;More specific to what I'm trying to do, I've got the following code:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;
&lt;p&gt;tell application "Adobe Photoshop CC 2014"&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with timeout of 30 seconds&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do javascript("/path/to/local/file.js") with arguments ({"{\"json\": \"document\", ...}"})&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end timeout&lt;/p&gt;
&lt;p&gt;end tell&lt;/p&gt;


&lt;/blockquote&gt;&lt;p&gt;When I try to run this locally, I never have a problem. But when I run it over ssh (again, either from the command line or by passing the command directly to ssh), I always get the following:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;
&lt;p&gt;script error: Expected end of line but found identifier. (-2741)&lt;/p&gt;


&lt;/blockquote&gt;&lt;p&gt;In addition to osascript stopping with that error, Photoshop also pops up the same error dialog: "Could not complete your request because of a program error."&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Anyone have any suggestions or thoughts with regard to how I can get all this working?&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks,&lt;/p&gt;&lt;p&gt;Brian&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:85f8fbf4-2395-4dc8-9e99-025c5033f504] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">javascript</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">applescript</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">ssh</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">applescripting</category>
      <pubDate>Wed, 29 Oct 2014 22:14:24 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1619691</guid>
      <dc:date>2014-10-29T22:14:24Z</dc:date>
      <clearspace:dateToText>2 weeks 1 day ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>希望可以找到中国的朋友们，或者会中文的朋友，一起学习PS SCRIPTING</title>
      <link>https://forums.adobe.com/thread/1614080</link>
      <description>&lt;!-- [DocumentBodyStart:214a4dcd-d770-42bc-8195-0ece116d61f7] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;很不好意思，我的英文不太好，论坛上交流不是很方便，希望可以认识中国的也在学习SCRIPTING的朋友，谢谢咯。&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:214a4dcd-d770-42bc-8195-0ece116d61f7] --&gt;</description>
      <pubDate>Wed, 29 Oct 2014 14:02:33 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1614080</guid>
      <dc:date>2014-10-29T14:02:33Z</dc:date>
      <clearspace:dateToText>2 weeks 2 days ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>How to strip metadata when exporting to PNG?</title>
      <link>https://forums.adobe.com/thread/1621209</link>
      <description>&lt;!-- [DocumentBodyStart:9f3cdd78-c7b6-43b0-8a21-742325e9ef83] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;When I export a layer as a PNG file (using app.activeDocument.exportDocument and type=ExportType.SAVEFORWEB), the exported PNG file contains a metadata header created by Adobe.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;When I export manually using File-&amp;gt;Save for Web &amp;amp; Devices, I have the option to select whether to save metadata or not. The scripting API does not seem (as far as I know) to give a way to prevent metadata from being written.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;What is a workaround for this? Is my only option using the code generated by script listener plugin? The problem with that is the code becomes unmaintainable quickly.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:9f3cdd78-c7b6-43b0-8a21-742325e9ef83] --&gt;</description>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">export</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">png</category>
      <category domain="https://forums.adobe.com/tags#/?containerType=14&amp;container=3342">metadata</category>
      <pubDate>Wed, 29 Oct 2014 07:43:17 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1621209</guid>
      <dc:date>2014-10-29T07:43:17Z</dc:date>
      <clearspace:dateToText>2 weeks 2 days ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>no tree pattrns in new PSCC2014.2.1</title>
      <link>https://forums.adobe.com/thread/1618470</link>
      <description>&lt;!-- [DocumentBodyStart:3eddfd3b-75ac-4d68-8e76-060a0c997ff5] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Wher ecan I find them.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thank You&lt;/p&gt;&lt;p&gt;Dick&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:3eddfd3b-75ac-4d68-8e76-060a0c997ff5] --&gt;</description>
      <pubDate>Sun, 26 Oct 2014 21:51:27 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1618470</guid>
      <dc:date>2014-10-26T21:51:27Z</dc:date>
      <clearspace:dateToText>2 weeks 4 days ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Where download scripted tree pattern</title>
      <link>https://forums.adobe.com/thread/1618409</link>
      <description>&lt;!-- [DocumentBodyStart:7fea1de2-06b8-42a9-b016-118fb0f45b8e] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I have the the latesr PS CC 2014.2.1 and I can't find the tree new patterns in PS. I can't find where to even download them.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Any help would be appreciated thank You&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Dick&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:7fea1de2-06b8-42a9-b016-118fb0f45b8e] --&gt;</description>
      <pubDate>Sun, 26 Oct 2014 21:30:25 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1618409</guid>
      <dc:date>2014-10-26T21:30:25Z</dc:date>
      <clearspace:dateToText>2 weeks 4 days ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>download pattern tree</title>
      <link>https://forums.adobe.com/thread/1618403</link>
      <description>&lt;!-- [DocumentBodyStart:4fe3fc7a-77d2-463d-97af-c3cc4ae9d3f0] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;whren do I get the download for patterns and trees&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thank you&lt;/p&gt;&lt;p&gt;dick&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:4fe3fc7a-77d2-463d-97af-c3cc4ae9d3f0] --&gt;</description>
      <pubDate>Sun, 26 Oct 2014 20:28:42 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1618403</guid>
      <dc:date>2014-10-26T20:28:42Z</dc:date>
      <clearspace:dateToText>2 weeks 4 days ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Shortcut for Scripts... Menu Bar Item</title>
      <link>https://forums.adobe.com/thread/1617035</link>
      <description>&lt;!-- [DocumentBodyStart:8e99ba7d-6088-4864-825e-74b1a9666781] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Is it possible to add a shortcut to the Scripts... menu item in Photoshop CC 2014?&lt;/p&gt;&lt;p&gt;I have not been able to figure this out.&lt;/p&gt;&lt;p&gt;OSX10.9&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:8e99ba7d-6088-4864-825e-74b1a9666781] --&gt;</description>
      <pubDate>Sat, 25 Oct 2014 16:27:27 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1617035</guid>
      <dc:date>2014-10-25T16:27:27Z</dc:date>
      <clearspace:dateToText>2 weeks 6 days ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>How to open an image in the same folder as a script (relative path)</title>
      <link>https://forums.adobe.com/thread/1610112</link>
      <description>&lt;!-- [DocumentBodyStart:bad9a860-0895-4603-b24f-bc730d9510a4] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Using Javascript with Photoshop CC (on Windows), I'm trying to create a script that will create a new document of certain dimension size, open an existing image alongside it, and paste it in as a new layer. &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;My problem is, I can only open the existing image when I supply the absolute path as follows:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;var fileRef = new File("C://Users//James//Desktop//images//image01.jpg");&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I had thought (obviously incorrectly since it won't work) that I could just specify the name of the file in the call to the new File object, e.g.:&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;var fileRef = new File("image01.jpg");&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;but this returns an 1233 error, i.e. "Expected a reference to an existing file or folder" so obviously the script can't see the file.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Is there a way to provide a relative address? This is for an assignment which will be viewed on a Mac so providing an absolute address which works on my PC isn't much good. &lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:bad9a860-0895-4603-b24f-bc730d9510a4] --&gt;</description>
      <pubDate>Fri, 24 Oct 2014 22:46:15 GMT</pubDate>
      <author>forums_noreply@adobe.com</author>
      <guid>https://forums.adobe.com/thread/1610112</guid>
      <dc:date>2014-10-24T22:46:15Z</dc:date>
      <clearspace:dateToText>2 weeks 6 days ago</clearspace:dateToText>
      <clearspace:replyCount>8</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
  </channel>
</rss>

