Javascript 从illustrator复制并粘贴多次到photoshop
这是我面临的一个小问题。我试图从illustrator发送一个对象到photoshop,但我想复制和超过两个版本,一个是笔划,另一个是笔划。我遇到的主要问题是,在我完成了两个不同版本之后,photoshop中的粘贴出现了。P是作为大纲的路径项。因此,它将粘贴两个没有笔划的版本,因为它在第二个副本已经运行之后运行第一个副本Javascript 从illustrator复制并粘贴多次到photoshop,javascript,adobe,photoshop,adobe-illustrator,extendscript,Javascript,Adobe,Photoshop,Adobe Illustrator,Extendscript,这是我面临的一个小问题。我试图从illustrator发送一个对象到photoshop,但我想复制和超过两个版本,一个是笔划,另一个是笔划。我遇到的主要问题是,在我完成了两个不同版本之后,photoshop中的粘贴出现了。P是作为大纲的路径项。因此,它将粘贴两个没有笔划的版本,因为它在第二个副本已经运行之后运行第一个副本 function CreateLabel(Label) { var P = Label.pageItems[0] app.copy() // get
function CreateLabel(Label)
{
var P = Label.pageItems[0]
app.copy()
// get Print Area Width and Height and convert to inces at 300 DPI
var LW = "\"" + String(Math.floor((Label.width/72)*300)) + "px\""
var LH = "\"" + String(Math.floor((Label.height/72)*300)) + "px\""
// create the new document
var Cmd = "app.documents.add(" + LW + "," + LH + ", 300,\"Label\", NewDocumentMode.RGB,DocumentFill.TRANSPARENT);";
TellPhoto(Cmd)
app.copy()
TellPhoto('app.activeDocument.paste();')
P.stroked = false
app.copy()
TellPhoto('app.activeDocument.layers.getByName(\"Layer 1\").remove();' )
//bt.body = 'BridgeTalk.bringToFront("illustrator");';
//bt.send(5)
};
// paste the saved bit
function TellPhoto(Message)
{
var bt = new BridgeTalk();
bt.target = "photoshop";
bt.body = Message
bt.onError = function(e)
{
alert(e.body);
};
bt.send(1);
}
因此,我需要一些几乎会暂停的东西,直到photoshop将当前剪贴板粘贴到其中。我在
app.copy()
和app.paste()
命令中不时遇到类似的问题。在app.paste()
帮助之前,通常需要额外暂停($.sleep(200)
)。我的猜测是,当另一个应用程序(Bridge或甚至是同一个Illustrator)尝试粘贴它时,该应用程序(Illustrator)无法复制所有数据。我用它做了更多的测试。我想也许加上$.sleep(10)可以给我所需要的停顿,但事实并非如此。我的一个想法是使用while命令停止脚本,然后等待onReturn命令。仍然在使用这个命令。对我使用的系统做了一些小改动。我按顺序写出了我的步骤,并使用switch语句来传递它们。所以在返回时,它现在将进入下一步。我仍然有一个问题,它将粘贴视为不可用的命令。仍在尝试此操作。我只复制粘贴一次,在新文档准备好之前,大约每50次中就有1次尝试粘贴,我得到一个错误,即“粘贴不是有效的命令”