Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从illustrator复制并粘贴多次到photoshop_Javascript_Adobe_Photoshop_Adobe Illustrator_Extendscript - Fatal编程技术网

Javascript 从illustrator复制并粘贴多次到photoshop

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

这是我面临的一个小问题。我试图从illustrator发送一个对象到photoshop,但我想复制和超过两个版本,一个是笔划,另一个是笔划。我遇到的主要问题是,在我完成了两个不同版本之后,photoshop中的粘贴出现了。P是作为大纲的路径项。因此,它将粘贴两个没有笔划的版本,因为它在第二个副本已经运行之后运行第一个副本

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次尝试粘贴,我得到一个错误,即“粘贴不是有效的命令”